<SEC-DOCUMENT>0001999371-24-010057.txt : 20240813
<SEC-HEADER>0001999371-24-010057.hdr.sgml : 20240813
<ACCEPTANCE-DATETIME>20240813161630
ACCESSION NUMBER:		0001999371-24-010057
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		63
CONFORMED PERIOD OF REPORT:	20240630
FILED AS OF DATE:		20240813
DATE AS OF CHANGE:		20240813

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			CPI AEROSTRUCTURES INC
		CENTRAL INDEX KEY:			0000889348
		STANDARD INDUSTRIAL CLASSIFICATION:	AIRCRAFT PART & AUXILIARY EQUIPMENT, NEC [3728]
		ORGANIZATION NAME:           	04 Manufacturing
		IRS NUMBER:				112520310
		STATE OF INCORPORATION:			NY
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-Q
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-11398
		FILM NUMBER:		241201708

	BUSINESS ADDRESS:	
		STREET 1:		200A EXECUTIVE DR
		CITY:			EDGEWOOD
		STATE:			NY
		ZIP:			11717
		BUSINESS PHONE:		5165865200

	MAIL ADDRESS:	
		STREET 1:		91 HEARTLAND BLVD
		CITY:			EDGEWOOD
		STATE:			NY
		ZIP:			11717
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>cpi-10q_063024.htm
<DESCRIPTION>QUARTERLY REPORT
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:us-roles="http://fasb.org/us-roles/2024" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:country="http://xbrl.sec.gov/country/2024" xmlns:srt="http://fasb.org/srt/2024" xmlns:cvu="http://cpiaero.com/20240630">
<head>
     <title></title>
<meta http-equiv="Content-Type" content="text/html"/>
</head>
<!-- Field: Set; Name: xdx; ID: xdx_02D_US%2DGAAP%2D2024 -->
<!-- Field: Set; Name: xdx; ID: xdx_034_cvu_cpiaero.com_20240630 -->
<!-- Field: Set; Name: xdx; ID: xdx_04E_20240101_20240630 -->
<!-- Field: Set; Name: xdx; ID: xdx_059_edei%2D%2DAmendmentFlag_false -->
<!-- Field: Set; Name: xdx; ID: xdx_058_edei%2D%2DDocumentFiscalPeriodFocus_Q2 -->
<!-- Field: Set; Name: xdx; ID: xdx_052_edei%2D%2DDocumentFiscalYearFocus_2024 -->
<!-- Field: Set; Name: xdx; ID: xdx_051_edei%2D%2DCurrentFiscalYearEndDate_%2D%2DLS0xMi0zMQ== -->
<!-- Field: Set; Name: xdx; ID: xdx_050_edei%2D%2DEntityCentralIndexKey_0000889348 -->
<!-- Field: Set; Name: xdx; ID: xdx_06B_USD_1_iso4217%2D%2DUSD -->
<!-- Field: Set; Name: xdx; ID: xdx_062_Shares_2_xbrli%2D%2Dshares -->
<!-- Field: Set; Name: xdx; ID: xdx_06D_USDPShares_3_iso4217%2D%2DUSD_xbrli%2D%2Dshares -->
<!-- Field: Set; Name: xdx; ID: xdx_069_Pure_4_xbrli%2D%2Dpure -->
<body style="font: 10pt Times New Roman, Times, Serif">
<div style="display: none">
<ix:header>
 <ix:hidden>
  <ix:nonNumeric contextRef="From2024-01-01to2024-06-30" id="Fact000003" name="dei:AmendmentFlag">false</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2024-01-01to2024-06-30" id="Fact000004" name="dei:DocumentFiscalPeriodFocus">Q2</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2024-01-01to2024-06-30" id="Fact000005" name="dei:DocumentFiscalYearFocus">2024</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2024-01-01to2024-06-30" id="Fact000006" name="dei:CurrentFiscalYearEndDate">--12-31</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2024-01-01to2024-06-30" id="Fact000007" name="dei:EntityCentralIndexKey">0000889348</ix:nonNumeric>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0242" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0243" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" contextRef="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0248" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0249" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0254" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0256" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-04-012024-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0266" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-04-012024-06-30_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0267" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" contextRef="From2024-04-012024-06-30_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0272" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" contextRef="From2024-04-012024-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0273" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2024-04-012024-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0278" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2024-04-012024-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0280" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0297" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-03-31_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0298" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" contextRef="From2023-01-012023-03-31_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0303" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0304" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0309" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0311" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0321" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-04-012023-06-30_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0322" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" contextRef="From2023-04-012023-06-30_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0327" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" contextRef="From2023-04-012023-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0328" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0333" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-04-012023-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0335" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ProvisionForLoanLeaseAndOtherLosses" contextRef="From2023-01-012023-06-30" id="xdx2ixbrl0367" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:IncreaseDecreaseInInsuranceSettlementsReceivable" contextRef="From2024-01-01to2024-06-30" id="xdx2ixbrl0378" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="cvu:IncreaseDecreaseInLitigationSettlementObligation" contextRef="From2024-01-01to2024-06-30" id="xdx2ixbrl0396" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:RepaymentsOfLinesOfCredit" contextRef="From2023-01-012023-06-30" id="xdx2ixbrl0424" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="cvu:RepaymentsOfInsuranceFinancingObligation" contextRef="From2023-01-012023-06-30" id="xdx2ixbrl0430" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsOfDebtIssuanceCosts" contextRef="From2024-01-01to2024-06-30" id="xdx2ixbrl0432" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="From2023-01-012023-06-30" id="xdx2ixbrl0457" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2024-04-012024-06-30_us-gaap_CostOfSalesMember" id="xdx2ixbrl0575" unitRef="USD" xs:nil="true"/>
  <ix:nonNumeric contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockUnitsRSUMember" id="xdx2ixbrl0591" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">P1Y</ix:nonNumeric>
  <ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" contextRef="AsOf2023-12-31_us-gaap_RestrictedStockUnitsRSUMember" id="xdx2ixbrl0597" unitRef="Shares" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" contextRef="AsOf2023-12-31_us-gaap_RestrictedStockUnitsRSUMember" id="xdx2ixbrl0599" unitRef="USDPShares" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockUnitsRSUMember" id="xdx2ixbrl0609" unitRef="Shares" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockUnitsRSUMember" id="xdx2ixbrl0611" unitRef="USDPShares" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" contextRef="From2024-01-012024-06-30_us-gaap_PerformanceSharesMember" id="xdx2ixbrl0660" unitRef="Shares" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" contextRef="From2024-01-012024-06-30_us-gaap_PerformanceSharesMember" id="xdx2ixbrl0662" unitRef="USDPShares" xs:nil="true"/>
  </ix:hidden>
 <ix:references>
  <link:schemaRef xlink:href="cvu-20240630.xsd" xlink:type="simple"/>
  </ix:references>
 <ix:resources>
    <xbrli:context id="From2024-01-01to2024-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-08-09">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-08-09</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</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 id="From2023-04-012023-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</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:context id="From2023-01-012023-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</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 id="From2024-04-012024-06-30_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</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 id="From2023-04-012023-06-30_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-06-30_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</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 id="AsOf2024-06-30_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</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 id="AsOf2024-06-30_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</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 id="AsOf2023-06-30_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</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 id="AsOf2023-06-30_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</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 id="AsOf2023-06-30_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</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 id="AsOf2023-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_custom_GovernmentSubcontractsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:GovernmentSubcontractsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_custom_GovernmentSubcontractsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:GovernmentSubcontractsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_custom_GovernmentSubcontractsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:GovernmentSubcontractsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_GovernmentSubcontractsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:GovernmentSubcontractsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_custom_PrimeGovernmentContractsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:PrimeGovernmentContractsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_custom_PrimeGovernmentContractsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:PrimeGovernmentContractsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_custom_PrimeGovernmentContractsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:PrimeGovernmentContractsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_PrimeGovernmentContractsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:PrimeGovernmentContractsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_custom_CommercialContractsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:CommercialContractsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_custom_CommercialContractsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:CommercialContractsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_custom_CommercialContractsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:CommercialContractsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_CommercialContractsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:CommercialContractsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_us-gaap_TransferredOverTimeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_us-gaap_TransferredOverTimeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_us-gaap_TransferredOverTimeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_us-gaap_TransferredOverTimeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_us-gaap_TransferredAtPointInTimeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_us-gaap_TransferredAtPointInTimeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_us-gaap_TransferredAtPointInTimeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_us-gaap_TransferredAtPointInTimeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_custom_FavorableAdjustmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">cvu:FavorableAdjustmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_FavorableAdjustmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">cvu:FavorableAdjustmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_custom_UnfavorableAdjustmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">cvu:UnfavorableAdjustmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_UnfavorableAdjustmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">cvu:UnfavorableAdjustmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2009-12-31_custom_PerformanceEquityPlan2009Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cvu:PerformanceEquityPlan2009Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2009-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-06-30_custom_PerformanceEquityPlan2009Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cvu:PerformanceEquityPlan2009Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2016-12-31_custom_LTIP2016Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cvu:LTIP2016Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2016-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2016-12-31_custom_LTIP2016Member_us-gaap_EmployeeStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cvu:LTIP2016Member</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2016-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-10-012020-12-31_custom_LTIP2016Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cvu:LTIP2016Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-10-01</xbrli:startDate>
        <xbrli:endDate>2020-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_custom_LTIP2016Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cvu:LTIP2016Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_custom_LTIP2016Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cvu:LTIP2016Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_LTIP2016Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cvu:LTIP2016Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-06-30_custom_LTIP2016Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cvu:LTIP2016Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_us-gaap_RestrictedStockUnitsRSUMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_us-gaap_RestrictedStockMember_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_us-gaap_RestrictedStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_us-gaap_PerformanceSharesMember_us-gaap_ShareBasedCompensationAwardTrancheOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_us-gaap_PerformanceSharesMember_us-gaap_ShareBasedCompensationAwardTrancheTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_us-gaap_PerformanceSharesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-06-30_us-gaap_PerformanceSharesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_us-gaap_CostOfSalesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_us-gaap_CostOfSalesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_us-gaap_CostOfSalesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_us-gaap_CostOfSalesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_us-gaap_SellingGeneralAndAdministrativeExpensesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_us-gaap_SellingGeneralAndAdministrativeExpensesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_us-gaap_SellingGeneralAndAdministrativeExpensesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_us-gaap_SellingGeneralAndAdministrativeExpensesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_RestrictedStockUnitsRSUMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-06-30_us-gaap_RestrictedStockUnitsRSUMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_RestrictedStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-06-30_us-gaap_RestrictedStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_PerformanceSharesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2016-03-24_custom_BankUnitedMember_us-gaap_RevolvingCreditFacilityMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2016-03-24</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2016-03-24_custom_BankUnitedMember_custom_TermLoanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cvu:TermLoanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2016-03-24</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-02-192024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-02-19</xbrli:startDate>
        <xbrli:endDate>2024-02-20</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">cvu:PeriodOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-02-20</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">cvu:PeriodTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-02-20</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodThreeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">cvu:PeriodThreeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-02-20</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodFourMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">cvu:PeriodFourMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-02-20</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodFiveMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">cvu:PeriodFiveMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-02-20</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodSixMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">cvu:PeriodSixMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-02-20</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodSevenMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">cvu:PeriodSevenMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-02-20</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-06-30_custom_BankUnitedMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_custom_BankUnitedMember_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_custom_BankUnitedMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_custom_BankUnitedMember_custom_RevolvingLoanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cvu:RevolvingLoanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-06-30_custom_BankUnitedMember_custom_RevolvingLoanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cvu:RevolvingLoanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-06-30_custom_BankUnitedMember_us-gaap_RevolvingCreditFacilityMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_BankUnitedMember_us-gaap_RevolvingCreditFacilityMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2016-03-252024-06-30_custom_BankUnitedMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2016-03-25</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_BankUnitedMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerThreeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFourMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerFourMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerThreeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-04-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFourMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerFourMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-04-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerThreeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-04-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerThreeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFourMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerFourMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerThreeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFourMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerFourMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cvu:ContractAssetsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cvu:ContractAssetsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cvu:ContractAssetsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerThreeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cvu:ContractAssetsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cvu:ContractAssetsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cvu:ContractAssetsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerThreeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFourMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cvu:ContractAssetsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerFourMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-06-30_us-gaap_AccountsPayableMember_us-gaap_CustomerConcentrationRiskMember_custom_VendorOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsPayableMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:VendorOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-06-012024-06-20">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-06-01</xbrli:startDate>
        <xbrli:endDate>2024-06-20</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:unit id="USD">
      <xbrli:measure>iso4217:USD</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="Shares">
      <xbrli:measure>xbrli:shares</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="USDPShares">
      <xbrli:divide>
        <xbrli:unitNumerator>
          <xbrli:measure>iso4217:USD</xbrli:measure>
        </xbrli:unitNumerator>
        <xbrli:unitDenominator>
          <xbrli:measure>xbrli:shares</xbrli:measure>
        </xbrli:unitDenominator>
      </xbrli:divide>
    </xbrli:unit>
    <xbrli:unit id="Pure">
      <xbrli:measure>xbrli:pure</xbrli:measure>
    </xbrli:unit>
  </ix:resources>
 </ix:header>
</div>


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

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

<!-- Field: Rule-Page --><div style="text-align: left; margin-top: 0; margin-bottom: 0"><div style="border-top: Black 2pt solid; border-bottom: Black 1pt solid; font-size: 1pt; width: 100%">&#160;</div></div><!-- Field: /Rule-Page -->

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 14pt"><b>UNITED
STATES</b>&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 14pt"><b>SECURITIES
AND EXCHANGE COMMISSION</b>&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 12pt"><b>Washington,
DC 20549</b></span></p>

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

<p style="font: 18pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 18pt"><b>FORM
<span id="xdx_906_edei--DocumentType_c20240101__20240630_zCkM9g4slepd"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" id="Fact000013" name="dei:DocumentType">10-Q</ix:nonNumeric></span></b></span></p>

<p style="font: 18pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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: 5%; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 12pt"><b><span id="xdx_90C_edei--DocumentQuarterlyReport_c20240101__20240630_zB0wLcy3zIc1"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" format="ixt:booleantrue" id="Fact000014" name="dei:DocumentQuarterlyReport">&#9746;</ix:nonNumeric></span></b></span></td>
    <td style="width: 90%; text-align: center; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 12pt"><b>QUARTERLY
    REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</b></span></td>
    <td style="width: 5%; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 12pt">&#160;</span></td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
the quarterly period ended <span id="xdx_902_edei--DocumentPeriodEndDate_c20240101__20240630_zsz2h36pXDGi"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" format="ixt:datemonthdayyearen" id="Fact000015" name="dei:DocumentPeriodEndDate">June 30, 2024</ix:nonNumeric></span></span></p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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: 5%"><span style="font-family: Times New Roman, Times, Serif; font-size: 12pt"><b><span id="xdx_900_edei--DocumentTransitionReport_c20240101__20240630_zJ9qPecZ8a3e"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" format="ixt:booleanfalse" id="Fact000016" name="dei:DocumentTransitionReport">&#9744;</ix:nonNumeric></span></b></span></td>
    <td style="width: 90%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 12pt"><b>TRANSITION
    REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</b></span></td>
    <td style="width: 5%"><span style="font-family: Times New Roman, Times, Serif; font-size: 12pt">&#160;</span></td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
the transition period from ___________ to __________</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Commission
File Number: <span id="xdx_90B_edei--EntityFileNumber_c20240101__20240630_zPVbD6O2otyc"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" id="Fact000017" name="dei:EntityFileNumber">1-11398</ix:nonNumeric></span></span></p>

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

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

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

<p style="font: 24pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 24pt"><b><span id="xdx_908_edei--EntityRegistrantName_c20240101__20240630_zhE3ECqQkEhl"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" id="Fact000018" name="dei:EntityRegistrantName">CPI
AEROSTRUCTURES, INC.</ix:nonNumeric></span></b></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline"><span id="xdx_90D_edei--EntityIncorporationStateCountryCode_c20240101__20240630_zwisJBzyl5yc"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" format="ixt-sec:stateprovnameen" id="Fact000019" name="dei:EntityIncorporationStateCountryCode">New
    York</ix:nonNumeric></span></span></span></td>
    <td style="width: 50%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline"><span id="xdx_90B_edei--EntityTaxIdentificationNumber_c20240101__20240630_zgoh0kTZRZQa"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" id="Fact000020" name="dei:EntityTaxIdentificationNumber">11-2520310</ix:nonNumeric></span></span></span></td></tr>
<tr style="vertical-align: top">
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(State or other jurisdiction</span></td>
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(IRS Employer Identification
    Number)</span></td></tr>
<tr style="vertical-align: top">
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">of incorporation
    or organization)</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
</table>
<p style="margin-top: 0; margin-bottom: 0">&#160;</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%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline"><span id="xdx_905_edei--EntityAddressAddressLine1_c20240101__20240630_zGwtzNO7RAPj"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" id="Fact000021" name="dei:EntityAddressAddressLine1">91
    Heartland Blvd.</ix:nonNumeric></span>, <span id="xdx_90B_edei--EntityAddressCityOrTown_c20240101__20240630_zm4KUWusM5n6"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" id="Fact000022" name="dei:EntityAddressCityOrTown">Edgewood</ix:nonNumeric></span>, <span id="xdx_906_edei--EntityAddressStateOrProvince_c20240101__20240630_zWbK9Gd9w538"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" id="Fact000023" name="dei:EntityAddressStateOrProvince">NY</ix:nonNumeric></span></span></b></span></td>
    <td style="width: 50%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline"><span id="xdx_90E_edei--EntityAddressPostalZipCode_c20240101__20240630_zdG10R0qIPB9"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" id="Fact000024" name="dei:EntityAddressPostalZipCode">11717</ix:nonNumeric></span></span></b></span></td></tr>
<tr style="vertical-align: top">
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Address of principal
    executive offices)</span></td>
    <td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Zip code)</span></td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90D_edei--CityAreaCode_c20240101__20240630_zWWx4SHblGMb"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" id="Fact000025" name="dei:CityAreaCode">(631)</ix:nonNumeric></span>
<span id="xdx_90A_edei--LocalPhoneNumber_c20240101__20240630_zCziMvWru3Ck"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" id="Fact000026" name="dei:LocalPhoneNumber">586-5200</ix:nonNumeric></span>&#160;</span></p>

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

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td colspan="3" style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Securities
    registered pursuant to Section 12(b) of the Act:</span></td></tr>
<tr style="vertical-align: bottom">
    <td style="border-bottom: black 1pt solid; border-left: black 1pt solid; width: 37%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Title
    of each class</span></td>
    <td style="border-bottom: black 1pt solid; border-left: black 1pt solid; width: 30%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trading
    symbol(s)</span></td>
    <td style="border-right: black 1pt solid; border-bottom: black 1pt solid; border-left: black 1pt solid; width: 33%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Name
    of each exchange on which <br/>
    registered</span></td></tr>
<tr style="vertical-align: bottom">
    <td style="border-bottom: black 1pt solid; border-left: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_904_edei--Security12bTitle_c20240101__20240630_zHZOKVfCx0p1"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" id="Fact000027" name="dei:Security12bTitle">Common
    stock, $0.001 par value per share</ix:nonNumeric></span></span></td>
    <td style="border-bottom: black 1pt solid; border-left: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_906_edei--TradingSymbol_c20240101__20240630_zFAo30x81hy3"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" id="Fact000028" name="dei:TradingSymbol">CVU</ix:nonNumeric></span></span></td>
    <td style="border-right: black 1pt solid; border-bottom: black 1pt solid; border-left: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_901_edei--SecurityExchangeName_c20240101__20240630_z5B6cP9mFVkb"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" format="ixt-sec:exchnameen" id="Fact000029" name="dei:SecurityExchangeName">NYSE
    American</ix:nonNumeric></span></span></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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">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 id="xdx_901_edei--EntityCurrentReportingStatus_c20240101__20240630_zV4HVHI7gwBc"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" id="Fact000030" name="dei:EntityCurrentReportingStatus">Yes</ix:nonNumeric></span> &#9746;&#160;&#160;No &#9744;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant
to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit
such files). <span id="xdx_90F_edei--EntityInteractiveDataCurrent_c20240101__20240630_zNQUVflEOgjg"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" id="Fact000031" name="dei:EntityInteractiveDataCurrent">Yes</ix:nonNumeric></span>&#160;&#9746;&#160; No &#9744;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, or a smaller
reporting company. See definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting
company,&#8221; and &#8220;emerging growth company&#8221; in Rule 12b-2 of the Exchange Act:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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: 52%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Large accelerated filer&#160;&#160;&#9744;</span></td>
    <td style="width: 48%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accelerated filer&#160;&#160;&#9744;</span></td></tr>
<tr style="vertical-align: top">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_905_edei--EntityFilerCategory_c20240101__20240630_zN7lOF9D5Sjg"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" format="ixt-sec:entityfilercategoryen" id="Fact000032" name="dei:EntityFilerCategory">Non-accelerated filer</ix:nonNumeric></span>&#160;&#160;&#9746;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Smaller reporting company&#160;<span id="xdx_90F_edei--EntitySmallBusiness_c20240101__20240630_z6rgsmYV7436"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" format="ixt:booleantrue" id="Fact000033" name="dei:EntitySmallBusiness">&#9746;</ix:nonNumeric></span></span></td></tr>
<tr style="vertical-align: top">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Emerging growth company&#160; <span id="xdx_907_edei--EntityEmergingGrowthCompany_c20240101__20240630_zvrDx9laJ5Td"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" format="ixt:booleanfalse" id="Fact000034" name="dei:EntityEmergingGrowthCompany">&#9744;</ix:nonNumeric></span></span></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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">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. &#9744;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act). Yes &#9744; &#160;<span id="xdx_908_edei--EntityShellCompany_c20240101__20240630_zcmQoWelJ8Jg"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" format="ixt:booleanfalse" id="Fact000035" name="dei:EntityShellCompany">No</ix:nonNumeric></span> &#9746;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of August 9, 2024, the registrant had <span id="xdx_906_edei--EntityCommonStockSharesOutstanding_iI_pip0_uShares_c20240809_znQNMByEFtJ"><ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" contextRef="AsOf2024-08-09" id="Fact000036" format="ixt:numdotdecimal" decimals="INF" scale="0" unitRef="Shares">13,036,622</ix:nonFraction></span> shares of common stock, $.001 par value, outstanding.</span></p>

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

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

<!-- Field: Rule-Page --><div style="text-align: left; margin-top: 0; margin-bottom: 0"><div style="border-top: Black 1pt solid; border-bottom: Black 2pt solid; font-size: 1pt; width: 100%">&#160;</div></div><!-- Field: /Rule-Page -->

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


<!-- Field: Page; Sequence: 1; Options: NewSection -->
    <div style="border-bottom: Black 1pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <div style="page-break-before: always; margin-top: 6pt; margin-bottom: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr>
    <td style="vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>INDEX</b></span></td></tr>
<tr>
    <td style="border-top: black 1pt solid; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-top: black 1pt solid; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr>
    <td style="vertical-align: top"><a href="#cpi10qa001"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">Part I - Financial Information</span></b></span></a></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1</span></td></tr>
<tr>
    <td style="vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr>
    <td style="vertical-align: top; width: 95%"><a href="#cpi10qa002"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 1 &#8211; Consolidated Financial Statements (Unaudited)</span></a></td>
    <td style="vertical-align: bottom; width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1</span></td></tr>
<tr>
    <td style="vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr>
    <td style="vertical-align: top"><a href="#cpi10qa003"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Condensed Consolidated Balance Sheets as of June 30, 2024 (Unaudited) and December 31, 2023</span></a></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1</span></td></tr>
<tr>
    <td style="vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr>
    <td style="vertical-align: top"><a href="#cpi10qa004"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Condensed Consolidated Statements of Operations for the Three and Six Months ended June 30, 2024 and 2023 (Unaudited)</span></a></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2</span></td></tr>
<tr>
    <td style="vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr>
    <td style="vertical-align: top"><a href="#cpi10qa005"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Condensed Consolidated Statements of Shareholders&#8217; Equity for the Three and Six Months ended June 30, 2024 and 2023 (Unaudited)</span></a></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3</span></td></tr>
<tr>
    <td style="vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr>
    <td style="vertical-align: top"><a href="#cpi10qa006"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Condensed Consolidated Statements of Cash Flows for the Six Months ended June 30, 2024 and 2023 (Unaudited)</span></a></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4</span></td></tr>
<tr>
    <td style="vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr>
    <td style="vertical-align: top"><a href="#cpi10qa007"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Notes to Condensed Consolidated Financial Statements (Unaudited)</span></a></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">5</span></td></tr>
<tr>
    <td style="vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr>
    <td style="vertical-align: top"><a href="#cpi10qa008"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 2 &#8211; Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</span></a></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12</span></td></tr>
<tr>
    <td style="vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr>
    <td style="vertical-align: top"><a href="#cpi10qa009"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 3 &#8211; Quantitative and Qualitative Disclosures About Market Risk</span></a></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">18</span></td></tr>
<tr>
    <td style="vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr>
    <td style="vertical-align: top"><a href="#cpi10qa010"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 4 &#8211; Controls and Procedures</span></a></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">18</span></td></tr>
<tr>
    <td style="vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr>
    <td style="vertical-align: top"><a href="#cpi10qa011"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Part II - Other Information</b></span></a></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">19</span></td></tr>
<tr>
    <td style="vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr>
    <td style="vertical-align: top"><a href="#cpi10qa012"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 1 &#8211; Legal Proceedings</span></a></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">19</span></td></tr>
<tr>
    <td style="vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr>
    <td style="vertical-align: top"><a href="#cpi10qa013"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 1A &#8211; Risk Factors</span></a></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">19</span></td></tr>
<tr>
    <td style="vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr>
    <td style="vertical-align: top"><a href="#cpi10qa014"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 2 &#8211; Unregistered Sales of Equity Securities and Use of Proceeds</span></a></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">19</span></td></tr>
<tr>
    <td style="vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr>
    <td style="vertical-align: top"><a href="#cpi10qa015"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 3 &#8211; Defaults Upon Senior Securities</span></a></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">19</span></td></tr>
<tr>
    <td style="vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr>
    <td style="vertical-align: top"><a href="#cpi10qa016"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 4 &#8211; Mine Safety Disclosures</span></a></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">19</span></td></tr>
<tr>
    <td style="vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr>
    <td style="vertical-align: top"><a href="#cpi10qa017"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 5 &#8211; Other Information</span></a></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">19</span></td></tr>
<tr>
    <td style="vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr>
    <td style="vertical-align: top"><a href="#cpi10qa018"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 6 &#8211; Exhibits</span></a></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">20</span></td></tr>
<tr>
    <td style="vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr>
    <td style="vertical-align: top"><a href="#cpi10qa019"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Signatures</span></a></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">21</span></td></tr>
<tr>
    <td style="vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
</table>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="cpi10qa001"></span>Part
I - Financial Information</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="cpi10qa002"></span>Item
1 - Consolidated Financial Statements</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="cpi10qa003"></span>CONDENSED
CONSOLIDATED BALANCE SHEETS</b></span></p>

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

<table cellspacing="0" cellpadding="0" id="xdx_30A_111_z7IxEqhIfROl" summary="xdx: Statement - CONDENSED CONSOLIDATED BALANCE SHEETS" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td style="text-indent: -0.125in; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" id="xdx_496_20240630_zYTdv3YG8662" style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June
    30,</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" id="xdx_495_20231231_zlXcwop9vUOa"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr style="vertical-align: bottom">
    <td style="text-indent: -0.125in; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2024
    </b><br/>
    <b>(Unaudited)</b></span></td>
    <td style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: black 1pt solid"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>December
31,&#160;</b></span></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2023</b></span></p></td>
    <td style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_40E_eus-gaap--AssetsAbstract_iB_zAGp4lWsatvi" style="vertical-align: bottom">
    <td style="text-indent: -0.125in; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>ASSETS</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_400_eus-gaap--AssetsCurrentAbstract_i01B_zyed4t4FPd5l" style="vertical-align: bottom">
    <td style="text-indent: -0.125in; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Current Assets:</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_408_eus-gaap--Cash_i02I_maCzdPm_maACzcF0_zG1omj030yB3" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; width: 72%; text-indent: -0.125in; padding-left: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cash</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 11%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:Cash" contextRef="AsOf2024-06-30" id="Fact000044" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,936,697</ix:nonFraction></span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: bottom; width: 11%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:Cash" contextRef="AsOf2023-12-31" id="Fact000045" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,094,794</ix:nonFraction></span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_40B_eus-gaap--AccountsReceivableNetCurrent_i02I_maCzdPm_maACzcF0_zd66mnrmQvyl" style="background-color: White">
    <td style="vertical-align: bottom; text-indent: -0.125in; padding-left: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accounts receivable,
    net of allowance for credit losses</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2024-06-30" id="Fact000047" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,228,639</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2023-12-31" id="Fact000048" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,352,196</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_40F_eus-gaap--ContractWithCustomerAssetNetCurrent_i02I_maCzdPm_maACzcF0_zVosiaGj5hW8" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-indent: -0.125in; padding-left: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Contract assets,
    net</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetCurrent" contextRef="AsOf2024-06-30" id="Fact000050" format="ixt:numdotdecimal" decimals="0" unitRef="USD">34,183,988</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetCurrent" contextRef="AsOf2023-12-31" id="Fact000051" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,312,068</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_400_eus-gaap--InventoryNet_i02I_maCzdPm_maACzcF0_zzhwwzmCF2j7" style="background-color: White">
    <td style="vertical-align: bottom; text-indent: -0.125in; padding-left: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inventory</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2024-06-30" id="Fact000053" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,132,520</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2023-12-31" id="Fact000054" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,436,647</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_409_eus-gaap--IncomeTaxesReceivable_i02I_maCzdPm_maACzcF0_zK4IH8221GYd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -0.125in; padding-left: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Refundable income taxes</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:IncomeTaxesReceivable" contextRef="AsOf2024-06-30" id="Fact000056" format="ixt:numdotdecimal" decimals="0" unitRef="USD">40,000</ix:nonFraction></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:IncomeTaxesReceivable" contextRef="AsOf2023-12-31" id="Fact000057" format="ixt:numdotdecimal" decimals="0" unitRef="USD">40,000</ix:nonFraction></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_400_eus-gaap--PrepaidExpenseAndOtherAssetsCurrent_i02I_maCzdPm_maACzcF0_zEEhn8anINOg" style="background-color: White">
    <td style="vertical-align: bottom; text-indent: -0.125in; padding-left: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Prepaid expenses
    and other current assets</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" contextRef="AsOf2024-06-30" id="Fact000059" format="ixt:numdotdecimal" decimals="0" unitRef="USD">563,147</ix:nonFraction></span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" contextRef="AsOf2023-12-31" id="Fact000060" format="ixt:numdotdecimal" decimals="0" unitRef="USD">678,026</ix:nonFraction></span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_40F_eus-gaap--AssetsCurrent_i01TI_mtACzcF0_maCzced_z1ibrEBaqvEh" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-indent: -0.125in; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Total Current
    Assets</b></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="AsOf2024-06-30" id="Fact000062" format="ixt:numdotdecimal" decimals="0" unitRef="USD">44,084,991</ix:nonFraction></b></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="AsOf2023-12-31" id="Fact000063" format="ixt:numdotdecimal" decimals="0" unitRef="USD">46,913,731</ix:nonFraction></b></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: -0.125in; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_403_eus-gaap--OperatingLeaseRightOfUseAsset_i01I_maCzced_zviIoBTUP7od" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-indent: -0.125in; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Operating lease
    right-of-use assets</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2024-06-30" id="Fact000065" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,808,903</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2023-12-31" id="Fact000066" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,740,193</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_409_eus-gaap--PropertyPlantAndEquipmentNet_i01I_maCzced_zzyxlOoz9kS3" style="background-color: White">
    <td style="vertical-align: bottom; text-indent: -0.125in; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Property and
    equipment, net</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-06-30" id="Fact000068" format="ixt:numdotdecimal" decimals="0" unitRef="USD">793,664</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31" id="Fact000069" format="ixt:numdotdecimal" decimals="0" unitRef="USD">794,056</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_409_eus-gaap--DeferredIncomeTaxAssetsNet_i01I_maCzced_zkSFVdiGpucj" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-indent: -0.125in; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred tax
    asset</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" contextRef="AsOf2024-06-30" id="Fact000071" format="ixt:numdotdecimal" decimals="0" unitRef="USD">19,582,905</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" contextRef="AsOf2023-12-31" id="Fact000072" format="ixt:numdotdecimal" decimals="0" unitRef="USD">19,938,124</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_406_eus-gaap--Goodwill_i01I_maCzced_z1WoawvSZkE" style="vertical-align: bottom; background-color: White">
    <td style="text-indent: -0.125in; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2024-06-30" id="Fact000074" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,784,254</ix:nonFraction></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2023-12-31" id="Fact000075" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,784,254</ix:nonFraction></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_40E_eus-gaap--OtherAssetsNoncurrent_i01I_maCzced_zuM80KodBXg3" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-indent: -0.125in; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other assets</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:OtherAssetsNoncurrent" contextRef="AsOf2024-06-30" id="Fact000077" format="ixt:numdotdecimal" decimals="0" unitRef="USD">162,803</ix:nonFraction></span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:OtherAssetsNoncurrent" contextRef="AsOf2023-12-31" id="Fact000078" format="ixt:numdotdecimal" decimals="0" unitRef="USD">189,774</ix:nonFraction></span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_40E_eus-gaap--Assets_i01TI_mtCzced_zOAQN5KDjNyf" style="background-color: White">
    <td style="vertical-align: bottom; text-indent: -0.125in; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Total Assets</b></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>$</b></span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><ix:nonFraction name="us-gaap:Assets" contextRef="AsOf2024-06-30" id="Fact000080" format="ixt:numdotdecimal" decimals="0" unitRef="USD">70,217,520</ix:nonFraction></b></span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>$</b></span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><ix:nonFraction name="us-gaap:Assets" contextRef="AsOf2023-12-31" id="Fact000081" format="ixt:numdotdecimal" decimals="0" unitRef="USD">74,360,132</ix:nonFraction></b></span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -0.125in; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_405_eus-gaap--LiabilitiesAndStockholdersEquityAbstract_iB_zFJhujvdZzf5" style="vertical-align: bottom; background-color: White">
    <td style="text-indent: -0.125in; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>LIABILITIES AND SHAREHOLDERS&#8217; EQUITY</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_40B_eus-gaap--LiabilitiesCurrentAbstract_i01B_zQwoIqn0qqjc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -0.125in; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Current Liabilities:</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_405_eus-gaap--AccountsPayableCurrent_i02I_maCzSCA_maLCzrmy_zshLkkBq3LJ1" style="background-color: White">
    <td style="vertical-align: bottom; text-indent: -0.125in; padding-left: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accounts payable</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2024-06-30" id="Fact000089" format="ixt:numdotdecimal" decimals="0" unitRef="USD">14,528,893</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2023-12-31" id="Fact000090" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,487,012</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_40E_eus-gaap--AccruedLiabilitiesCurrent_i02I_maCzSCA_maLCzrmy_za5V3dtklqk2" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-indent: -0.125in; padding-left: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accrued expenses</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="AsOf2024-06-30" id="Fact000092" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,994,894</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="AsOf2023-12-31" id="Fact000093" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,275,695</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_406_eus-gaap--ContractWithCustomerLiabilityCurrent_i02I_maCzSCA_maLCzrmy_zhcBEQVRTC7j" style="background-color: White">
    <td style="vertical-align: bottom; text-indent: -0.125in; padding-left: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Contract liabilities</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" contextRef="AsOf2024-06-30" id="Fact000095" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,482,535</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" contextRef="AsOf2023-12-31" id="Fact000096" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,937,629</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_40D_eus-gaap--LossContingencyAccrualCarryingValueCurrent_i02I_maCzSCA_maLCzrmy_zpnPZxRpUTX3" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-indent: -0.125in; padding-left: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Loss reserve</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:LossContingencyAccrualCarryingValueCurrent" contextRef="AsOf2024-06-30" id="Fact000098" format="ixt:numdotdecimal" decimals="0" unitRef="USD">59,922</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:LossContingencyAccrualCarryingValueCurrent" contextRef="AsOf2023-12-31" id="Fact000099" format="ixt:numdotdecimal" decimals="0" unitRef="USD">337,351</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_40B_eus-gaap--LinesOfCreditCurrent_i02I_maCzSCA_maLCzrmy_zIMhMdewqbzl" style="background-color: White">
    <td style="vertical-align: bottom; text-indent: -0.125in; padding-left: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Current portion
    of line of credit</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:LinesOfCreditCurrent" contextRef="AsOf2024-06-30" id="Fact000101" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,640,000</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:LinesOfCreditCurrent" contextRef="AsOf2023-12-31" id="Fact000102" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,400,000</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_40B_eus-gaap--OtherLongTermDebtCurrent_i02I_maCzSCA_maLCzrmy_zLhe6Al43eNe" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-indent: -0.125in; padding-left: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Current portion
    of long-term debt</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:OtherLongTermDebtCurrent" contextRef="AsOf2024-06-30" id="Fact000104" format="ixt:numdotdecimal" decimals="0" unitRef="USD">30,663</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:OtherLongTermDebtCurrent" contextRef="AsOf2023-12-31" id="Fact000105" format="ixt:numdotdecimal" decimals="0" unitRef="USD">44,498</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_401_eus-gaap--OperatingLeaseLiabilityCurrent_i02I_maCzSCA_maLCzrmy_zx5vmZ43yoG6" style="background-color: White">
    <td style="vertical-align: bottom; text-indent: -0.125in; padding-left: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Operating lease
    liabilities, current</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2024-06-30" id="Fact000107" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,076,851</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2023-12-31" id="Fact000108" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,999,058</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_402_eus-gaap--TaxesPayableCurrent_i02I_maCzSCA_maLCzrmy_z32r4KXwC9g2" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-indent: -0.125in; padding-left: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income taxes
    payable</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:TaxesPayableCurrent" contextRef="AsOf2024-06-30" id="Fact000110" format="ixt:numdotdecimal" decimals="0" unitRef="USD">31,734</ix:nonFraction></span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:TaxesPayableCurrent" contextRef="AsOf2023-12-31" id="Fact000111" format="ixt:numdotdecimal" decimals="0" unitRef="USD">30,107</ix:nonFraction></span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_408_eus-gaap--LiabilitiesCurrent_i02TI_mtLCzrmy_maCzwvG_z9SFSR2Zy9Ti" style="background-color: White">
    <td style="vertical-align: bottom; text-indent: -0.125in; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Total Current
    Liabilities</b></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2024-06-30" id="Fact000113" format="ixt:numdotdecimal" decimals="0" unitRef="USD">27,845,492</ix:nonFraction></b></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2023-12-31" id="Fact000114" format="ixt:numdotdecimal" decimals="0" unitRef="USD">31,511,350</ix:nonFraction></b></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -0.125in; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_40F_eus-gaap--LongTermLineOfCredit_i01I_maCzwvG_zqFfTjggrII8" style="background-color: White">
    <td style="vertical-align: bottom; text-indent: -0.125in; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Line of credit,
    net of current portion</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:LongTermLineOfCredit" contextRef="AsOf2024-06-30" id="Fact000116" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,200,000</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:LongTermLineOfCredit" contextRef="AsOf2023-12-31" id="Fact000117" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,640,000</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_40F_eus-gaap--OperatingLeaseLiabilityNoncurrent_i01I_maCzwvG_z8lTQcBRkKs7" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-indent: -0.125in; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Long-term operating
    lease liabilities</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2024-06-30" id="Fact000119" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,044,237</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2023-12-31" id="Fact000120" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,100,571</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_403_eus-gaap--OtherLongTermDebtNoncurrent_i01I_maCzwvG_zQQK3OL7O818" style="background-color: White">
    <td style="vertical-align: bottom; text-indent: -0.125in; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Long-term debt,
    net of current portion</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:OtherLongTermDebtNoncurrent" contextRef="AsOf2024-06-30" id="Fact000122" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,821</ix:nonFraction></span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:OtherLongTermDebtNoncurrent" contextRef="AsOf2023-12-31" id="Fact000123" format="ixt:numdotdecimal" decimals="0" unitRef="USD">26,483</ix:nonFraction></span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_40C_eus-gaap--Liabilities_i01TI_mtCzwvG_maLASEzSuZ_z9VsZaXwgvx8" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-indent: -0.125in; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Total Liabilities</b></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><ix:nonFraction name="us-gaap:Liabilities" contextRef="AsOf2024-06-30" id="Fact000125" format="ixt:numdotdecimal" decimals="0" unitRef="USD">46,100,550</ix:nonFraction></b></span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><ix:nonFraction name="us-gaap:Liabilities" contextRef="AsOf2023-12-31" id="Fact000126" format="ixt:numdotdecimal" decimals="0" unitRef="USD">52,278,404</ix:nonFraction></b></span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: -0.125in; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_404_eus-gaap--CommitmentsAndContingencies_i01I_zTx2ZV5VpRHa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; text-indent: -0.125in; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Commitments and
    Contingencies (see note 11)</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; text-indent: -0.125in; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_403_eus-gaap--StockholdersEquityAbstract_i01B_z38EF780BOBh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -0.125in; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Shareholders&#8217; Equity:</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_40B_eus-gaap--CommonStockValue_i02I_maCzcoy_zs9zEA0IGK9" style="background-color: White">
    <td style="vertical-align: bottom; text-indent: -0.125in; padding-left: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Common stock
    - $<span id="xdx_902_eus-gaap--CommonStockParOrStatedValuePerShare_iI_pid_uUSDPShares_c20240630_zkrHdMmdcYJl" title="Common stock, par value (in dollars per share)"><span id="xdx_903_eus-gaap--CommonStockParOrStatedValuePerShare_iI_pid_uUSDPShares_c20231231_zUJhybJeu1d9" title="Common stock, par value (in dollars per share)"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2024-06-30" id="Fact000137" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31" id="Fact000139" decimals="INF" unitRef="USDPShares">.001</ix:nonFraction></ix:nonFraction></span></span> par value; authorized <span id="xdx_902_eus-gaap--CommonStockSharesAuthorized_iI_pid_uShares_c20240630_zrHvMBwQCt7i" title="Common stock, authorized"><span id="xdx_90C_eus-gaap--CommonStockSharesAuthorized_iI_pid_uShares_c20231231_zgLD7Zds3UFh" title="Common stock, authorized"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2024-06-30" id="Fact000141" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2023-12-31" id="Fact000143" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">50,000,000</ix:nonFraction></ix:nonFraction></span></span> shares, <span id="xdx_90C_eus-gaap--CommonStockSharesIssued_iI_pid_uShares_c20240630_zGByl2p1PVN5" title="Common stock, issued"><span id="xdx_908_eus-gaap--CommonStockSharesOutstanding_iI_pid_uShares_c20240630_ztOIX7ccsGnf" title="Common stock, outstanding"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2024-06-30" id="Fact000145" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2024-06-30" id="Fact000147" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,962,863</ix:nonFraction></ix:nonFraction></span></span> and <span id="xdx_90D_eus-gaap--CommonStockSharesIssued_iI_pid_uShares_c20231231_zgBiSVlliDq1" title="Common stock, issued"><span id="xdx_905_eus-gaap--CommonStockSharesOutstanding_iI_pid_uShares_c20231231_zlirJd0viKFh" title="Common stock, outstanding"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2023-12-31" id="Fact000149" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2023-12-31" id="Fact000151" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,771,434</ix:nonFraction></ix:nonFraction></span></span> shares, respectively, issued and outstanding</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="text-align: right; vertical-align: bottom"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2024-06-30" id="Fact000134" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,963</ix:nonFraction></span></p></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2023-12-31" id="Fact000135" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,771</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_402_eus-gaap--AdditionalPaidInCapitalCommonStock_i02I_maCzcoy_zAY0jb8UkXLk" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-indent: -0.125in; padding-left: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Additional paid-in
    capital</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:AdditionalPaidInCapitalCommonStock" contextRef="AsOf2024-06-30" id="Fact000153" format="ixt:numdotdecimal" decimals="0" unitRef="USD">74,329,545</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:AdditionalPaidInCapitalCommonStock" contextRef="AsOf2023-12-31" id="Fact000154" format="ixt:numdotdecimal" decimals="0" unitRef="USD">73,872,679</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_401_eus-gaap--RetainedEarningsAccumulatedDeficit_i02I_maCzcoy_zH98Wy1GQSif" style="vertical-align: bottom; background-color: White">
    <td style="text-indent: -0.125in; padding-left: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accumulated deficit</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2024-06-30" id="Fact000156" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">50,225,538</ix:nonFraction></span></td>
    <td style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td>
    <td style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2023-12-31" id="Fact000157" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">51,803,722</ix:nonFraction></span></td>
    <td style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td></tr>
<tr id="xdx_40C_eus-gaap--StockholdersEquity_i02TI_mtCzcoy_maLASEzSuZ_z1fqLItpwSS1" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-indent: -0.125in; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Total Shareholders&#8217;
    Equity</b></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-06-30" id="Fact000159" format="ixt:numdotdecimal" decimals="0" unitRef="USD">24,116,970</ix:nonFraction></b></span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31" id="Fact000160" format="ixt:numdotdecimal" decimals="0" unitRef="USD">22,081,728</ix:nonFraction></b></span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_406_eus-gaap--LiabilitiesAndStockholdersEquity_i01TI_mtLASEzSuZ_zphPEolLr7f6" style="background-color: White">
    <td style="vertical-align: bottom; text-indent: -0.125in; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Total Liabilities
    and Shareholders&#8217; Equity</b></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>$</b></span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="AsOf2024-06-30" id="Fact000162" format="ixt:numdotdecimal" decimals="0" unitRef="USD">70,217,520</ix:nonFraction></b></span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>$</b></span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="AsOf2023-12-31" id="Fact000163" format="ixt:numdotdecimal" decimals="0" unitRef="USD">74,360,132</ix:nonFraction></b></span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">See
Notes to Condensed Consolidated Financial Statements</span></p>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span id="cpi10qa004"></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>CONDENSED
CONSOLIDATED STATEMENTS OF OPERATIONS (UNAUDITED)</b>&#160;</span></p>

<table cellpadding="0" cellspacing="0" id="xdx_309_113_za0HJiX9sU6d" summary="xdx: Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (UNAUDITED)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_495_20240401__20240630_zotEfU0aJ0Ol">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20230401__20230630_zNv4QwJOlDNi">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_494_20240101__20240630_z2zZYGSythjk" style="text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_497_20230101__20230630_zoldtJOPeNt6" style="text-align: center">&#160;</td><td style="padding-bottom: 1pt">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>For the Three Months Ended&#160;</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b>&#160;</span></p></td><td style="padding-bottom: 1pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: center">For the Six Months Ended<br/> June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr id="xdx_401_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_maCzcYR_zgtu4ZIre2s7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%">Revenue</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-04-012024-06-30" id="Fact000165" format="ixt:numdotdecimal" decimals="0" unitRef="USD">20,810,334</ix:nonFraction></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"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-04-012023-06-30" id="Fact000166" format="ixt:numdotdecimal" decimals="0" unitRef="USD">20,547,555</ix:nonFraction></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"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-01to2024-06-30" id="Fact000167" format="ixt:numdotdecimal" decimals="0" unitRef="USD">39,891,477</ix:nonFraction></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"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-06-30" id="Fact000168" format="ixt:numdotdecimal" decimals="0" unitRef="USD">42,564,223</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr id="xdx_403_eus-gaap--CostOfRevenue_msCzcYR_zkXzokIJbyO2" style="vertical-align: bottom; background-color: White">
    <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 name="us-gaap:CostOfRevenue" contextRef="From2024-04-012024-06-30" id="Fact000170" format="ixt:numdotdecimal" decimals="0" unitRef="USD">15,694,910</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:CostOfRevenue" contextRef="From2023-04-012023-06-30" id="Fact000171" format="ixt:numdotdecimal" decimals="0" unitRef="USD">15,943,555</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:CostOfRevenue" contextRef="From2024-01-01to2024-06-30" id="Fact000172" format="ixt:numdotdecimal" decimals="0" unitRef="USD">31,222,304</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:CostOfRevenue" contextRef="From2023-01-012023-06-30" id="Fact000173" format="ixt:numdotdecimal" decimals="0" unitRef="USD">33,297,707</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
<tr id="xdx_409_eus-gaap--GrossProfit_iT_mtCzcYR_maCzFv6_zmxbKjDtvZo6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gross profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2024-04-012024-06-30" id="Fact000175" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,115,424</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2023-04-012023-06-30" id="Fact000176" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,604,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2024-01-01to2024-06-30" id="Fact000177" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,669,173</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2023-01-012023-06-30" id="Fact000178" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,266,516</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_405_eus-gaap--SellingGeneralAndAdministrativeExpense_msCzFv6_z70nutGCDL7e" 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 name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="From2024-04-012024-06-30" id="Fact000180" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,775,935</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="From2023-04-012023-06-30" id="Fact000181" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,806,480</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="From2024-01-01to2024-06-30" id="Fact000182" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,489,839</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="From2023-01-012023-06-30" id="Fact000183" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,675,538</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
<tr id="xdx_401_eus-gaap--OperatingIncomeLoss_iT_mtCzFv6_maILFCOzZH0_zSxKPyvdqGr" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Income from operations</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2024-04-012024-06-30" id="Fact000185" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,339,489</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2023-04-012023-06-30" id="Fact000186" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,797,520</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2024-01-01to2024-06-30" id="Fact000187" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,179,334</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2023-01-012023-06-30" id="Fact000188" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,590,978</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_407_eus-gaap--InterestExpense_iN_di_msILFCOzZH0_zUowYGm0edf8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Interest expense</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2024-04-012024-06-30" id="Fact000190" format="ixt:numdotdecimal" decimals="0" unitRef="USD">587,971</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2023-04-012023-06-30" id="Fact000191" format="ixt:numdotdecimal" decimals="0" unitRef="USD">541,655</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2024-01-01to2024-06-30" id="Fact000192" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,220,106</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2023-01-012023-06-30" id="Fact000193" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,152,551</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
<tr id="xdx_405_eus-gaap--IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_iT_mtILFCOzZH0_maCzTjX_zqSNSibCtlSl" 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 name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2024-04-012024-06-30" id="Fact000195" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,751,518</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2023-04-012023-06-30" id="Fact000196" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,255,865</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2024-01-01to2024-06-30" id="Fact000197" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,959,228</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2023-01-012023-06-30" id="Fact000198" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,438,427</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_403_eus-gaap--IncomeTaxExpenseBenefit_msCzTjX_zxfl9DSyfLge" 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 name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2024-04-012024-06-30" id="Fact000200" format="ixt:numdotdecimal" decimals="0" unitRef="USD">341,572</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-04-012023-06-30" id="Fact000201" format="ixt:numdotdecimal" decimals="0" unitRef="USD">98,789</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2024-01-01to2024-06-30" id="Fact000202" format="ixt:numdotdecimal" decimals="0" unitRef="USD">381,044</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-01-012023-06-30" id="Fact000203" format="ixt:numdotdecimal" decimals="0" unitRef="USD">298,046</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
<tr id="xdx_407_eus-gaap--NetIncomeLoss_iT_mtCzTjX_zf6g1ayz2xKj" style="vertical-align: bottom; background-color: White">
    <td style="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 name="us-gaap:NetIncomeLoss" contextRef="From2024-04-012024-06-30" id="Fact000205" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,409,946</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-04-012023-06-30" id="Fact000206" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,157,076</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-01to2024-06-30" id="Fact000207" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,578,184</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-06-30" id="Fact000208" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,140,381</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40A_eus-gaap--EarningsPerShareBasic_pp2p0_zUib1OXhA6t3" style="vertical-align: bottom; background-color: White">
    <td>Income per common share, basic</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2024-04-012024-06-30" id="Fact000210" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.11</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2023-04-012023-06-30" id="Fact000211" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.09</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2024-01-01to2024-06-30" id="Fact000212" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.13</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2023-01-012023-06-30" id="Fact000213" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.17</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40A_eus-gaap--EarningsPerShareDiluted_pp2p0_zUD9QC3Em1kh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Income per common share, diluted</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2024-04-012024-06-30" id="Fact000215" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.11</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2023-04-012023-06-30" id="Fact000216" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.09</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2024-01-01to2024-06-30" id="Fact000217" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.12</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2023-01-012023-06-30" id="Fact000218" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.17</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_403_eus-gaap--WeightedAverageNumberOfSharesOutstandingAbstract_iB_zNtJGV5ndhCj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline; text-align: left">Shares used in computing income per common share:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_408_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_i01_pp0p0_z1NxTyaYFRgc" style="vertical-align: bottom; background-color: White">
    <td>&#160;&#160;Basic</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2024-04-012024-06-30" id="Fact000225" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">12,440,426</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2023-04-012023-06-30" id="Fact000226" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">12,558,793</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2024-01-01to2024-06-30" id="Fact000227" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">12,515,824</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2023-01-012023-06-30" id="Fact000228" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">12,539,652</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40B_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_i01_pp0p0_uShares_z5eV5Ty7thJ7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;&#160;Diluted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2024-04-012024-06-30" id="Fact000230" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">12,554,153</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2023-04-012023-06-30" id="Fact000231" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">12,625,241</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2024-01-01to2024-06-30" id="Fact000232" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">12,656,753</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2023-01-012023-06-30" id="Fact000233" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">12,606,100</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
</table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">See
Notes to Condensed Consolidated Financial Statements&#160;</span></p>


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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="cpi10qa005"></span>CONDENSED
CONSOLIDATED STATEMENTS OF SHAREHOLDERS&#8217; EQUITY (UNAUDITED)</b></span></p>

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

<table cellpadding="0" cellspacing="0" id="xdx_301_114_z8xTfMDMCTre" summary="xdx: Statement - CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (UNAUDITED)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td style="text-indent: -0.125in; padding-left: 0.125in">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Common <br/> Stock <br/> Shares</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td>
    <td colspan="2" id="xdx_4B7_us-gaap--StatementEquityComponentsAxis_us-gaap--CommonStockMember_zIeH9kcly7Lc" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Common <br/> Stock <br/> Amount</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td>
    <td colspan="2" id="xdx_4B4_us-gaap--StatementEquityComponentsAxis_us-gaap--AdditionalPaidInCapitalMember_z6NtFroeLhqe" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Additional <br/> Paid-in <br/> Capital</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td>
    <td colspan="2" id="xdx_4B2_us-gaap--StatementEquityComponentsAxis_us-gaap--RetainedEarningsMember_zRC4HEFlQ6Uf" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Accumulated <br/> Deficit</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td>
    <td colspan="2" id="xdx_4B0_zITbqB23hRxa" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Total <br/> Shareholders&#8217;<br/> Equity</td><td style="font-weight: bold">&#160;</td></tr>
<tr id="xdx_43B_c20240101__20240331_eus-gaap--StockholdersEquity_iS_zmqt3wGIu53a" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 35%; text-indent: -0.125in; padding-left: 0.125in">Balance at January 1, 2024</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--CommonStockSharesOutstanding_iS_pid_uShares_c20240101__20240630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zW5c0Xzk1KAh" title="Beginning balance (in shares)" style="width: 10%; text-align: right"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2023-12-31_us-gaap_CommonStockMember" id="Fact000240" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,771,434</ix:nonFraction></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: 10%; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_us-gaap_CommonStockMember" id="Fact000235" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,771</ix:nonFraction></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: 10%; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000236" format="ixt:numdotdecimal" decimals="0" unitRef="USD">73,872,679</ix:nonFraction></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: 10%; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_us-gaap_RetainedEarningsMember" id="Fact000237" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">51,803,722</ix:nonFraction></td><td style="width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31" id="Fact000238" format="ixt:numdotdecimal" decimals="0" unitRef="USD">22,081,728</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr id="xdx_43B_c20240101__20240331_eus-gaap--NetIncomeLoss_zmllkY7ig6v" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.125in">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0242">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0243">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember" id="Fact000244" format="ixt:numdotdecimal" decimals="0" unitRef="USD">168,238</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-012024-03-31" id="Fact000245" format="ixt:numdotdecimal" decimals="0" unitRef="USD">168,238</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_437_c20240101__20240331_eus-gaap--StockIssuedDuringPeriodValueRestrictedStockAwardGross_zIqQ8L38uJSb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.125in">Issuance of common stock upon settlement of restricted stock, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--StockIssuedDuringPeriodSharesRestrictedStockAwardGross_pid_uShares_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zKMGw6i8Fkg4" title="Issuance of common stock upon settlement of restricted stock, net (in shares)" style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember" id="Fact000252" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">13,334</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember" id="Fact000247" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0248">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0249">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" contextRef="From2024-01-012024-03-31" id="Fact000250" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_437_c20240101__20240331_eus-gaap--AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_z4zTv33WYJrc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; text-indent: -0.125in; padding-left: 0.125in">Stock-based compensation expense</td><td>&#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="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"><span style="-sec-ix-hidden: xdx2ixbrl0254">&#8212;</span></td><td style="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"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000255" format="ixt:numdotdecimal" decimals="0" unitRef="USD">281,510</ix:nonFraction></td><td style="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"><span style="-sec-ix-hidden: xdx2ixbrl0256">&#8212;</span></td><td style="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"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2024-01-012024-03-31" id="Fact000257" format="ixt:numdotdecimal" decimals="0" unitRef="USD">281,510</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_431_c20240401__20240630_eus-gaap--StockholdersEquity_iS_zUDiT1M9YBpe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-indent: -0.125in; padding-left: 0.125in">Balance at March 31, 2024</td><td>&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--CommonStockSharesOutstanding_iS_pid_uShares_c20240401__20240630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zkhpL7rjFKa9" title="Beginning balance (in shares)" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2024-03-31_us-gaap_CommonStockMember" id="Fact000264" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,784,768</ix:nonFraction></td><td style="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 name="us-gaap:StockholdersEquity" contextRef="AsOf2024-03-31_us-gaap_CommonStockMember" id="Fact000259" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,784</ix:nonFraction></td><td style="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 name="us-gaap:StockholdersEquity" contextRef="AsOf2024-03-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000260" format="ixt:numdotdecimal" decimals="0" unitRef="USD">74,154,189</ix:nonFraction></td><td style="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 name="us-gaap:StockholdersEquity" contextRef="AsOf2024-03-31_us-gaap_RetainedEarningsMember" id="Fact000261" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">51,635,484</ix:nonFraction></td><td style="border-bottom: Black 2.5pt double; text-align: left">)</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 name="us-gaap:StockholdersEquity" contextRef="AsOf2024-03-31" id="Fact000262" format="ixt:numdotdecimal" decimals="0" unitRef="USD">22,531,489</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_43A_c20240401__20240630_eus-gaap--NetIncomeLoss_zof8Qd3p7gq3" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.125in">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0266">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0267">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-04-012024-06-30_us-gaap_RetainedEarningsMember" id="Fact000268" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,409,946</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-04-012024-06-30" id="Fact000269" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,409,946</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_431_c20240401__20240630_eus-gaap--StockIssuedDuringPeriodValueRestrictedStockAwardGross_zvEWFF7CJUr7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.125in">Issuance of common stock upon settlement of restricted stock, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--StockIssuedDuringPeriodSharesRestrictedStockAwardGross_pid_uShares_c20240401__20240630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zuRIl15HrZc" title="Issuance of common stock upon settlement of restricted stock, net (in shares)" style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" contextRef="From2024-04-012024-06-30_us-gaap_CommonStockMember" id="Fact000276" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">178,095</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" contextRef="From2024-04-012024-06-30_us-gaap_CommonStockMember" id="Fact000271" format="ixt:numdotdecimal" decimals="0" unitRef="USD">179</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0272">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0273">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" contextRef="From2024-04-012024-06-30" id="Fact000274" format="ixt:numdotdecimal" decimals="0" unitRef="USD">179</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_43A_c20240401__20240630_eus-gaap--AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_ziR65k8curA4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; text-indent: -0.125in; padding-left: 0.125in">Stock-based compensation expense</td><td>&#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="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"><span style="-sec-ix-hidden: xdx2ixbrl0278">&#8212;</span></td><td style="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"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2024-04-012024-06-30_us-gaap_AdditionalPaidInCapitalMember" id="Fact000279" format="ixt:numdotdecimal" decimals="0" unitRef="USD">175,356</ix:nonFraction></td><td style="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"><span style="-sec-ix-hidden: xdx2ixbrl0280">&#8212;</span></td><td style="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"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2024-04-012024-06-30" id="Fact000281" format="ixt:numdotdecimal" decimals="0" unitRef="USD">175,356</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_439_c20240401__20240630_eus-gaap--StockholdersEquity_iE_zcrSOz2ct071" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-indent: -0.125in; padding-left: 0.125in">Balance at June 30, 2024</td><td>&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--CommonStockSharesOutstanding_iE_pid_uShares_c20240401__20240630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z59SIzhuAnZ2" title="Ending balance (in shares)" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2024-06-30_us-gaap_CommonStockMember" id="Fact000288" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,962,863</ix:nonFraction></td><td style="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 name="us-gaap:StockholdersEquity" contextRef="AsOf2024-06-30_us-gaap_CommonStockMember" id="Fact000283" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,963</ix:nonFraction></td><td style="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 name="us-gaap:StockholdersEquity" contextRef="AsOf2024-06-30_us-gaap_AdditionalPaidInCapitalMember" id="Fact000284" format="ixt:numdotdecimal" decimals="0" unitRef="USD">74,329,545</ix:nonFraction></td><td style="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 name="us-gaap:StockholdersEquity" contextRef="AsOf2024-06-30_us-gaap_RetainedEarningsMember" id="Fact000285" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">50,225,538</ix:nonFraction></td><td style="border-bottom: Black 2.5pt double; text-align: left">)</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 name="us-gaap:StockholdersEquity" contextRef="AsOf2024-06-30" id="Fact000286" format="ixt:numdotdecimal" decimals="0" unitRef="USD">24,116,970</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: -0.125in; padding-left: 0.125in">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_430_c20230101__20230331_eus-gaap--StockholdersEquity_iS_zc7z6oNlWqEh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -0.125in; padding-left: 0.125in">Balance at January 1, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--CommonStockSharesOutstanding_iS_pid_uShares_c20230101__20230331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zhs6uw3oMYS" title="Beginning balance (in shares)" style="text-align: right"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2022-12-31_us-gaap_CommonStockMember" id="Fact000295" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,506,795</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31_us-gaap_CommonStockMember" id="Fact000290" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,507</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000291" format="ixt:numdotdecimal" decimals="0" unitRef="USD">73,189,449</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31_us-gaap_RetainedEarningsMember" id="Fact000292" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">69,004,926</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31" id="Fact000293" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,197,030</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_43B_c20230101__20230331_eus-gaap--NetIncomeLoss_zZrLRavl1LO4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.125in">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0297">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0298">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember" id="Fact000299" format="ixt:numdotdecimal" decimals="0" unitRef="USD">983,305</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-03-31" id="Fact000300" format="ixt:numdotdecimal" decimals="0" unitRef="USD">983,305</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_43A_c20230101__20230331_eus-gaap--StockIssuedDuringPeriodValueRestrictedStockAwardGross_z3OW7CMc1trd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.125in">Issuance of common stock upon settlement of restricted stock, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--StockIssuedDuringPeriodSharesRestrictedStockAwardGross_pid_uShares_c20230101__20230331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z168zgth9LYf" title="Issuance of common stock upon settlement of restricted stock, net (in shares)" style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember" id="Fact000307" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">19,247</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember" id="Fact000302" format="ixt:numdotdecimal" decimals="0" unitRef="USD">19</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0303">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0304">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" contextRef="From2023-01-012023-03-31" id="Fact000305" format="ixt:numdotdecimal" decimals="0" unitRef="USD">19</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_43B_c20230101__20230331_eus-gaap--AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_zi7U1epEXFyf" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; text-indent: -0.125in; padding-left: 0.125in">Stock-based compensation expense</td><td>&#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="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"><span style="-sec-ix-hidden: xdx2ixbrl0309">&#8212;</span></td><td style="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"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-03-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000310" format="ixt:numdotdecimal" decimals="0" unitRef="USD">338,904</ix:nonFraction></td><td style="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"><span style="-sec-ix-hidden: xdx2ixbrl0311">&#8212;</span></td><td style="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"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-03-31" id="Fact000312" format="ixt:numdotdecimal" decimals="0" unitRef="USD">338,904</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_43B_c20230401__20230630_eus-gaap--StockholdersEquity_iS_z3swPwUfUNgb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-indent: -0.125in; padding-left: 0.125in">Balance at March 31, 2023</td><td>&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--CommonStockSharesOutstanding_iS_pid_uShares_c20230401__20230630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zI3IItPapfM1" title="Beginning balance (in shares)" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2023-03-31_us-gaap_CommonStockMember" id="Fact000319" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,526,042</ix:nonFraction></td><td style="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 name="us-gaap:StockholdersEquity" contextRef="AsOf2023-03-31_us-gaap_CommonStockMember" id="Fact000314" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,526</ix:nonFraction></td><td style="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 name="us-gaap:StockholdersEquity" contextRef="AsOf2023-03-31_us-gaap_AdditionalPaidInCapitalMember" id="Fact000315" format="ixt:numdotdecimal" decimals="0" unitRef="USD">73,528,353</ix:nonFraction></td><td style="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 name="us-gaap:StockholdersEquity" contextRef="AsOf2023-03-31_us-gaap_RetainedEarningsMember" id="Fact000316" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">68,021,621</ix:nonFraction></td><td style="border-bottom: Black 2.5pt double; text-align: left">)</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 name="us-gaap:StockholdersEquity" contextRef="AsOf2023-03-31" id="Fact000317" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,519,258</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_430_c20230401__20230630_eus-gaap--NetIncomeLoss_zBQrFOh12Idd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.125in">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0321">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0322">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-04-012023-06-30_us-gaap_RetainedEarningsMember" id="Fact000323" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,157,076</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-04-012023-06-30" id="Fact000324" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,157,076</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_433_c20230401__20230630_eus-gaap--StockIssuedDuringPeriodValueRestrictedStockAwardGross_z7uO3HakYZv1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.125in">Issuance of common stock upon settlement of restricted stock, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--StockIssuedDuringPeriodSharesRestrictedStockAwardGross_pid_uShares_c20230401__20230630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zeRXQnc9XLKj" title="Issuance of common stock upon settlement of restricted stock, net (in shares)" style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember" id="Fact000331" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">201,125</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember" id="Fact000326" format="ixt:numdotdecimal" decimals="0" unitRef="USD">201</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0327">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0328">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" contextRef="From2023-04-012023-06-30" id="Fact000329" format="ixt:numdotdecimal" decimals="0" unitRef="USD">201</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_43C_c20230401__20230630_eus-gaap--AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_zkx32HKIEKYa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; text-indent: -0.125in; padding-left: 0.125in">Stock-based compensation expense</td><td>&#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="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"><span style="-sec-ix-hidden: xdx2ixbrl0333">&#8212;</span></td><td style="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"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-04-012023-06-30_us-gaap_AdditionalPaidInCapitalMember" id="Fact000334" format="ixt:numdotdecimal" decimals="0" unitRef="USD">180,015</ix:nonFraction></td><td style="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"><span style="-sec-ix-hidden: xdx2ixbrl0335">&#8212;</span></td><td style="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"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-04-012023-06-30" id="Fact000336" format="ixt:numdotdecimal" decimals="0" unitRef="USD">180,015</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_43B_c20230401__20230630_eus-gaap--StockholdersEquity_iE_z6b6ivHhyPxj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-indent: -0.125in; padding-left: 0.125in">Balance at June 30, 2023</td><td>&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--CommonStockSharesOutstanding_iE_pid_uShares_c20230401__20230630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zfeUbAcQZkvd" title="Ending balance (in shares)" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2023-06-30_us-gaap_CommonStockMember" id="Fact000343" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,727,167</ix:nonFraction></td><td style="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 name="us-gaap:StockholdersEquity" contextRef="AsOf2023-06-30_us-gaap_CommonStockMember" id="Fact000338" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,727</ix:nonFraction></td><td style="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 name="us-gaap:StockholdersEquity" contextRef="AsOf2023-06-30_us-gaap_AdditionalPaidInCapitalMember" id="Fact000339" format="ixt:numdotdecimal" decimals="0" unitRef="USD">73,708,368</ix:nonFraction></td><td style="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 name="us-gaap:StockholdersEquity" contextRef="AsOf2023-06-30_us-gaap_RetainedEarningsMember" id="Fact000340" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">66,864,545</ix:nonFraction></td><td style="border-bottom: Black 2.5pt double; text-align: left">)</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 name="us-gaap:StockholdersEquity" contextRef="AsOf2023-06-30" id="Fact000341" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,856,550</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
</table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">See
Notes to Condensed Consolidated Financial Statements</span></p>

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


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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span id="cpi10qa006"></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>CONDENSED
CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED)&#160;</b></span></p>

<table cellpadding="0" cellspacing="0" id="xdx_303_112_zR63ltmP0TTk" summary="xdx: Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td style="text-indent: -0.125in; padding-left: 0.125in">&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_490_20240101__20240630_zVoVbPrYNRXb">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_496_20230101__20230630_zicc1WK640zl">&#160;</td><td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-indent: -0.125in; padding-left: 0.125in">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">For the Six Months Ended <br/> June 30,</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-indent: -0.125in; padding-left: 0.125in">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2023</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td></tr>
<tr id="xdx_40E_eus-gaap--NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_iB_zfBBZOkMYRk5" style="vertical-align: bottom">
    <td style="font-weight: bold; text-align: left; text-indent: -0.125in; padding-left: 0.125in">Cash flows from operating activities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40E_eus-gaap--NetIncomeLoss_i01_maCzrkx_zX5R39pCnFdk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; text-align: left; text-indent: -0.125in; padding-left: 0.125in">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 name="us-gaap:NetIncomeLoss" contextRef="From2024-01-01to2024-06-30" id="Fact000348" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,578,184</ix:nonFraction></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"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-06-30" id="Fact000349" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,140,381</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr id="xdx_40E_eus-gaap--AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_i01B_zvgQZhzCAYD7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.125in">Adjustments to reconcile net income to net cash (used in) provided by operating activities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40B_eus-gaap--DepreciationDepletionAndAmortization_i02_maCzrkx_zFtpI8vqQHGj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.25in">Depreciation and amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationDepletionAndAmortization" contextRef="From2024-01-01to2024-06-30" id="Fact000354" format="ixt:numdotdecimal" decimals="0" unitRef="USD">202,413</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationDepletionAndAmortization" contextRef="From2023-01-012023-06-30" id="Fact000355" format="ixt:numdotdecimal" decimals="0" unitRef="USD">233,090</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_400_eus-gaap--AmortizationOfFinancingCosts_i02_maCzrkx_zu7SKNJQAVff" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.25in">Amortization of debt issuance cost</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AmortizationOfFinancingCosts" contextRef="From2024-01-01to2024-06-30" id="Fact000357" format="ixt:numdotdecimal" decimals="0" unitRef="USD">26,971</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AmortizationOfFinancingCosts" contextRef="From2023-01-012023-06-30" id="Fact000358" format="ixt:numdotdecimal" decimals="0" unitRef="USD">58,743</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_403_eus-gaap--ShareBasedCompensation_i02_maCzrkx_z0KvLkDTuOd4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.25in">Stock-based compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="From2024-01-01to2024-06-30" id="Fact000360" format="ixt:numdotdecimal" decimals="0" unitRef="USD">457,058</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="From2023-01-012023-06-30" id="Fact000361" format="ixt:numdotdecimal" decimals="0" unitRef="USD">519,139</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40C_eus-gaap--IncreaseDecreaseInDeferredIncomeTaxes_i02N_di_msCzrkx_zBF8VwqOwbTd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.25in">Deferred income taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" contextRef="From2024-01-01to2024-06-30" id="Fact000363" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">355,219</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" contextRef="From2023-01-012023-06-30" id="Fact000364" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">295,362</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_403_eus-gaap--ProvisionForLoanLeaseAndOtherLosses_i02_maCzrkx_z5HY0qNhJuW6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.25in">Provision for credit losses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProvisionForLoanLeaseAndOtherLosses" contextRef="From2024-01-01to2024-06-30" id="Fact000366" format="ixt:numdotdecimal" decimals="0" unitRef="USD">144,565</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0367">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_401_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_i02_maCzrkx_zlhpXaw58LW8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.25in">Amortization of operating lease right-of-use assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" contextRef="From2024-01-01to2024-06-30" id="Fact000369" format="ixt:numdotdecimal" decimals="0" unitRef="USD">931,290</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" contextRef="From2023-01-012023-06-30" id="Fact000370" format="ixt:numdotdecimal" decimals="0" unitRef="USD">880,144</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_402_eus-gaap--IncreaseDecreaseInOperatingCapitalAbstract_i02B_zHVxkc0SD2U4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.25in">Changes in operating assets and liabilities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40F_eus-gaap--IncreaseDecreaseInAccountsReceivable_i03N_di_msCzrkx_zkxQOAzmL8p8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.375in">Increase in accounts receivable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="From2024-01-01to2024-06-30" id="Fact000375" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,021,008</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="From2023-01-012023-06-30" id="Fact000376" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,763,529</ix:nonFraction></td><td style="text-align: left">)</td></tr>
<tr id="xdx_40C_eus-gaap--IncreaseDecreaseInInsuranceSettlementsReceivable_i03N_di_msCzrkx_zDYu05IEGoQ" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.375in">Decrease in insurance receivable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0378">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInInsuranceSettlementsReceivable" contextRef="From2023-01-012023-06-30" id="Fact000379" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">3,600,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_409_eus-gaap--IncreaseDecreaseInContractWithCustomerAsset_i03N_di_msCzrkx_zDKYlzDLakXk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.375in">Decrease (increase) in contract assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" contextRef="From2024-01-01to2024-06-30" id="Fact000381" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,128,080</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" contextRef="From2023-01-012023-06-30" id="Fact000382" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,577,521</ix:nonFraction></td><td style="text-align: left">)</td></tr>
<tr id="xdx_40F_eus-gaap--IncreaseDecreaseInInventories_i03N_di_msCzrkx_zyOO1DRZGOpg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.375in">Decrease in inventory</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2024-01-01to2024-06-30" id="Fact000384" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">304,127</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2023-01-012023-06-30" id="Fact000385" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">574,163</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_409_eus-gaap--IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_i03N_di_msCzrkx_z8XOPZpoT3tf" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.375in">Decrease in prepaid expenses and other assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" contextRef="From2024-01-01to2024-06-30" id="Fact000387" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">114,879</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" contextRef="From2023-01-012023-06-30" id="Fact000388" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">410,116</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40E_eus-gaap--IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_i03_maCzrkx_zPrh4NYXOA6f" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.375in">(Decrease) increase in accounts payable and accrued expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" contextRef="From2024-01-01to2024-06-30" id="Fact000390" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">64,565</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" contextRef="From2023-01-012023-06-30" id="Fact000391" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,674,132</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_407_eus-gaap--IncreaseDecreaseInContractWithCustomerLiability_i03_maCzrkx_z8BR28JLPiAi" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.375in">(Decrease) increase in contract liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" contextRef="From2024-01-01to2024-06-30" id="Fact000393" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">3,455,094</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" contextRef="From2023-01-012023-06-30" id="Fact000394" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,603,628</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_400_ecustom--IncreaseDecreaseInLitigationSettlementObligation_i03_maCzrkx_zMvdpLI99j8h" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.375in">Decrease in settlement of litigation obligation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0396">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="cvu:IncreaseDecreaseInLitigationSettlementObligation" contextRef="From2023-01-012023-06-30" id="Fact000397" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">3,600,000</ix:nonFraction></td><td style="text-align: left">)</td></tr>
<tr id="xdx_40D_eus-gaap--IncreaseDecreaseInOperatingLeaseLiability_i03_maCzrkx_z1YegEVUTvRb" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.375in">Decrease in operating lease liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" contextRef="From2024-01-01to2024-06-30" id="Fact000399" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">978,541</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" contextRef="From2023-01-012023-06-30" id="Fact000400" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">852,156</ix:nonFraction></td><td style="text-align: left">)</td></tr>
<tr id="xdx_403_ecustom--IncreaseDecreaseInLossReserve_i03_maCzrkx_zhlWPVk8EtZ6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.375in">Decrease in loss reserve</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="cvu:IncreaseDecreaseInLossReserve" contextRef="From2024-01-01to2024-06-30" id="Fact000402" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">277,429</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="cvu:IncreaseDecreaseInLossReserve" contextRef="From2023-01-012023-06-30" id="Fact000403" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">326,033</ix:nonFraction></td><td style="text-align: left">)</td></tr>
<tr id="xdx_40B_eus-gaap--IncreaseDecreaseInAccruedIncomeTaxesPayable_i03_maCzrkx_z8bLabSyPm0a" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; text-indent: -0.125in; padding-left: 0.375in">Increase in income taxes payable</td><td>&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" contextRef="From2024-01-01to2024-06-30" id="Fact000405" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,627</ix:nonFraction></td><td style="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"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" contextRef="From2023-01-012023-06-30" id="Fact000406" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,478</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
<tr id="xdx_404_eus-gaap--NetCashProvidedByUsedInOperatingActivities_i03T_mtCzrkx_maCzLD5_zfWm07ETjt4k" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt; text-indent: -0.125in; padding-left: 0.5in">Net cash (used in) provided by operating activities</td><td>&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2024-01-01to2024-06-30" id="Fact000408" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,552,224</ix:nonFraction></td><td style="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">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2023-01-012023-06-30" id="Fact000409" format="ixt:numdotdecimal" decimals="0" unitRef="USD">875,137</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: -0.125in; padding-left: 0.125in">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_406_eus-gaap--NetCashProvidedByUsedInInvestingActivitiesAbstract_iB_zXeaZjkMyd77" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; text-indent: -0.125in; padding-left: 0.125in">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="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_403_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_i01N_di_msCzaiL_zzWNkJMJ66m1" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; text-indent: -0.125in; padding-left: 0.25in">Purchase of property and equipment</td><td>&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2024-01-01to2024-06-30" id="Fact000414" format="ixt:numdotdecimal" decimals="0" unitRef="USD">202,021</ix:nonFraction></td><td style="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">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2023-01-012023-06-30" id="Fact000415" format="ixt:numdotdecimal" decimals="0" unitRef="USD">59,265</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; text-align: left">)</td></tr>
<tr id="xdx_40F_eus-gaap--NetCashProvidedByUsedInInvestingActivities_i01T_mtCzaiL_maCzLD5_z394aMFIlWW9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt; text-indent: -0.125in; padding-left: 0.375in">Net cash used in investing activities</td><td>&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2024-01-01to2024-06-30" id="Fact000417" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">202,021</ix:nonFraction></td><td style="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">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2023-01-012023-06-30" id="Fact000418" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">59,265</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: -0.125in; padding-left: 0.125in">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_409_eus-gaap--NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_iB_zlwrtrgwsYXf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; text-indent: -0.125in; padding-left: 0.125in">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="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40C_eus-gaap--RepaymentsOfLinesOfCredit_i01N_di_msNCPBUzANX_zyPoBzZM7EKc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.25in">Principal payments on line of credit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:RepaymentsOfLinesOfCredit" contextRef="From2024-01-01to2024-06-30" id="Fact000423" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,200,000</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0424">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40D_eus-gaap--RepaymentsOfLongTermDebt_i01N_di_msNCPBUzANX_zb7cIJW7jMnf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.25in">Principal payments on long-term debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:RepaymentsOfLongTermDebt" contextRef="From2024-01-01to2024-06-30" id="Fact000426" format="ixt:numdotdecimal" decimals="0" unitRef="USD">29,497</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:RepaymentsOfLongTermDebt" contextRef="From2023-01-012023-06-30" id="Fact000427" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,528,091</ix:nonFraction></td><td style="text-align: left">)</td></tr>
<tr id="xdx_40C_ecustom--RepaymentsOfInsuranceFinancingObligation_i01N_di_msNCPBUzANX_zBLB212ed0ee" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.25in">Repayments of insurance financing obligation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="cvu:RepaymentsOfInsuranceFinancingObligation" contextRef="From2024-01-01to2024-06-30" id="Fact000429" format="ixt:numdotdecimal" decimals="0" unitRef="USD">174,355</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0430">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_406_eus-gaap--PaymentsOfDebtIssuanceCosts_i01N_di_msNCPBUzANX_zF0MkhqwF1U4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt; text-indent: -0.125in; padding-left: 0.25in">Debt issuance costs paid</td><td>&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0432">&#8212;</span></td><td style="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">(<ix:nonFraction name="us-gaap:PaymentsOfDebtIssuanceCosts" contextRef="From2023-01-012023-06-30" id="Fact000433" format="ixt:numdotdecimal" decimals="0" unitRef="USD">54,334</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; text-align: left">)</td></tr>
<tr id="xdx_409_eus-gaap--NetCashProvidedByUsedInFinancingActivities_i01T_mtNCPBUzANX_maCzLD5_zEwMxtX3T6Bd" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt; text-indent: -0.125in; padding-left: 0.375in">Net cash used in financing activities</td><td>&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="From2024-01-01to2024-06-30" id="Fact000435" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,403,852</ix:nonFraction></td><td style="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">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="From2023-01-012023-06-30" id="Fact000436" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,582,425</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -0.125in; padding-left: 0.125in">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_401_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_iT_mtCzLD5_zs4mQPDyih1b" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.375in">Net decrease in cash</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" contextRef="From2024-01-01to2024-06-30" id="Fact000438" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">3,158,097</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" contextRef="From2023-01-012023-06-30" id="Fact000439" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">766,553</ix:nonFraction></td><td style="text-align: left">)</td></tr>
<tr id="xdx_409_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_iS_zavlhntVxe64" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt; text-indent: -0.125in; padding-left: 0.125in">Cash at beginning of period</td><td>&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2023-12-31" id="Fact000441" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,094,794</ix:nonFraction></td><td style="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"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2022-12-31" id="Fact000442" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,847,225</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
<tr id="xdx_40D_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_iE_zgKFhjSOZ91" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-indent: -0.125in; padding-left: 0.125in">Cash at end of period</td><td>&#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 name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2024-06-30" id="Fact000444" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,936,697</ix:nonFraction></td><td style="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 name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2023-06-30" id="Fact000445" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,080,672</ix:nonFraction></td><td style="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="text-indent: -0.125in; padding-left: 0.125in">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40A_eus-gaap--SupplementalCashFlowElementsAbstract_iB_zhes1T9buvg8" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; text-indent: -0.125in; padding-left: 0.125in">Supplemental disclosures of cash flow information:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40E_ecustom--CashPaidDuringPeriodForAbstract_iB_zlbF1M3w8yYj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.125in">Cash paid during the period for:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_401_eus-gaap--InterestPaidNet_i01_zlioTXhtuDod" style="vertical-align: bottom; background-color: White">
    <td style="text-indent: -0.125in; padding-left: 0.25in">Interest</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InterestPaidNet" contextRef="From2024-01-01to2024-06-30" id="Fact000453" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,218,775</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InterestPaidNet" contextRef="From2023-01-012023-06-30" id="Fact000454" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,193,411</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_403_eus-gaap--IncomeTaxesPaidNet_i01_zmFvBSYa5OMd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -0.125in; padding-left: 0.25in">Income taxes</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="From2024-01-01to2024-06-30" id="Fact000456" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0457">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
</table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">See
Notes to Condensed Consolidated Financial Statements</span></p>

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


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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="cpi10qa007"></span>NOTES
TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)</b></span></p>

<ix:nonNumeric contextRef="From2024-01-01to2024-06-30" escape="true" id="Fact000459" name="us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock"><p id="xdx_809_eus-gaap--OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_z3ZIuaMgKUk5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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: 0px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="width: 48px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>1.</b></span></td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_825_znsVE15PVcVk">INTERIM FINANCIAL
    STATEMENTS</span></b></span></td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<ix:nonNumeric contextRef="From2024-01-01to2024-06-30" escape="true" id="Fact000461" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock"><p id="xdx_84F_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_zBput2Hq1zEc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Basis
of Presentation</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company consists of CPI Aerostructures, Inc. (&#8220;CPI Aero&#8221;), Welding Metallurgy, Inc. (&#8220;WMI&#8221;), a wholly
owned subsidiary of CPI Aero, and Compac Development Corporation, a wholly owned subsidiary of WMI (collectively, the &#8220;Company&#8221;,
&#8220;we&#8221;, &#8220;us&#8221;, or &#8220;our&#8221;).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
condensed consolidated interim financial statements of the Company as of June 30, 2024 and for the three and six months ended
June 30, 2024 and 2023 have been prepared pursuant to the rules and regulations of the Securities and Exchange Commission (&#8220;SEC&#8221;).
Certain information and notes normally included in financial statements prepared in accordance with generally accepted accounting
principles in the United States of America (&#8220;U.S. GAAP&#8221;) have been condensed or omitted pursuant to those rules and
regulations. The consolidated balance sheet at December 31, 2023 has been derived from audited consolidated financial statements,
but does not include all of the information and notes required by U.S. GAAP. The Company believes that the disclosures are adequate
to make the information presented not misleading.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">All
adjustments that, in the opinion of the management, are necessary for a fair presentation for the periods presented have been
reflected. Such adjustments are of a normal, recurring nature. It is suggested that these consolidated financial statements be
read in conjunction with the consolidated financial statements and notes thereto included in the Company&#8217;s Annual Report
on Form 10-K for the year ended December 31, 2023 (the &#8220;Form 10-K&#8221;). The results of operations for interim periods
are not necessarily indicative of the operating results to be expected for the full year or any other interim period.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">An
operating segment, in part, is a component of an enterprise whose operating results are regularly reviewed by the chief operating
decision maker (the &#8220;CODM&#8221;) to make decisions about resources to be allocated to the segment and assess its performance.
Operating segments may be aggregated only to a limited extent. The Company&#8217;s CODM, the Chief Executive Officer, reviews
financial information presented on a consolidated basis for purposes of making operating decisions and assessing financial performance.
The Company has determined that it has a single operating and reportable segment.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company maintains its cash in multiple financial institutions. The balances are insured by the Federal Deposit Insurance Corporation.
From time to time, the Company&#8217;s balances may exceed insurance limits. As of June 30, 2024, the Company had $<span id="xdx_90C_eus-gaap--CashUninsuredAmount_iI_c20240630_zs50r1Ntzv9a" title="Uninsured balance"><ix:nonFraction name="us-gaap:CashUninsuredAmount" contextRef="AsOf2024-06-30" id="Fact000463" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,781,798</ix:nonFraction></span> of
uninsured balances. The Company limits its credit risk by selecting financial institutions considered to be highly creditworthy.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" escape="true" id="Fact000465" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock"><p id="xdx_848_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zkqtcSIPtq9h" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Recently
Issued Accounting Standards &#8211; Not Adopted</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
December 2023, the FASB issued ASU No. 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which focuses
on the rate reconciliation and income taxes paid. ASU No. 2023-09 requires a public business entity (&#8220;PBE&#8221;) to disclose,
on an annual basis, a tabular rate reconciliation using both percentages and currency amounts, broken out into specified categories
with certain reconciling items further broken out by nature and jurisdiction to the extent those items exceed a specified threshold.
In addition, all entities are required to disclose income taxes paid, net of refunds received disaggregated by federal, state/local,
and foreign and by jurisdiction if the amount is at least 5% of total income tax payments, net of refunds received. For PBEs,
the new standard is effective for annual periods beginning after December 15, 2024, with early adoption permitted. An entity may
apply the amendments in this ASU prospectively by providing the revised disclosures for the period ending December 31, 2025 and
continuing to provide the pre-ASU disclosures for the prior periods, or may apply the amendments retrospectively by providing
the revised disclosures for all period presented. We expect this ASU to only impact our disclosures with no impacts to our results
of operations, cash flows, and financial condition.</span></p>

</ix:nonNumeric></ix:nonNumeric><p id="xdx_816_zRY52tQoCzFg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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 id="xdx_803_eus-gaap--RevenueFromContractWithCustomerTextBlock_zBkPL7wWJF04" style="width: 0px"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" continuedAt="Con000467-01" escape="true" id="Fact000467" name="us-gaap:RevenueFromContractWithCustomerTextBlock"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></ix:nonNumeric></td>
    <td style="width: 48px"><ix:continuation continuedAt="Con000467-02" id="Con000467-01"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2.</b></span></ix:continuation></td>
    <td style="text-align: justify"><ix:continuation continuedAt="Con000467-03" id="Con000467-02"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b><span id="xdx_826_z2qK1HazBDXk">REVENUE</span></b></span></ix:continuation></td></tr>
</table>
<ix:continuation id="Con000467-03"><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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Disaggregation
of Revenue</b></span></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-06-30" escape="true" id="Fact000469" name="us-gaap:DisaggregationOfRevenueTableTextBlock"><p id="xdx_894_eus-gaap--DisaggregationOfRevenueTableTextBlock_zzFYFTAEhci8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following tables present the Company&#8217;s revenue disaggregated by contract type and revenue recognition method:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Three months ended<br/> June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Six months ended<br/> June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; text-align: left">Government subcontracts</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630__srt--ProductOrServiceAxis__custom--GovernmentSubcontractsMember_zH91agajtIc3" title="Revenue" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-04-012024-06-30_custom_GovernmentSubcontractsMember" id="Fact000471" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,963,874</ix:nonFraction></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 id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__srt--ProductOrServiceAxis__custom--GovernmentSubcontractsMember_zqA8ca6gMa4" title="Revenue" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-04-012023-06-30_custom_GovernmentSubcontractsMember" id="Fact000473" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,502,026</ix:nonFraction></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 id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630__srt--ProductOrServiceAxis__custom--GovernmentSubcontractsMember_zJaZqB41tEie" title="Revenue" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-06-30_custom_GovernmentSubcontractsMember" id="Fact000475" format="ixt:numdotdecimal" decimals="0" unitRef="USD">31,965,642</ix:nonFraction></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 id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__srt--ProductOrServiceAxis__custom--GovernmentSubcontractsMember_zpF7hAaQUVN6" title="Revenue" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-06-30_custom_GovernmentSubcontractsMember" id="Fact000477" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,174,919</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Prime government contracts</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630__srt--ProductOrServiceAxis__custom--PrimeGovernmentContractsMember_zrJzGNAdK9v6" title="Revenue" style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-04-012024-06-30_custom_PrimeGovernmentContractsMember" id="Fact000479" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,601,347</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__srt--ProductOrServiceAxis__custom--PrimeGovernmentContractsMember_zy3NydqhNte2" title="Revenue" style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-04-012023-06-30_custom_PrimeGovernmentContractsMember" id="Fact000481" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,710,925</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630__srt--ProductOrServiceAxis__custom--PrimeGovernmentContractsMember_zCjHES41x8ca" title="Revenue" style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-06-30_custom_PrimeGovernmentContractsMember" id="Fact000483" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,383,228</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__srt--ProductOrServiceAxis__custom--PrimeGovernmentContractsMember_zhdB6vfbC2fb" title="Revenue" style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-06-30_custom_PrimeGovernmentContractsMember" id="Fact000485" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,118,959</ix:nonFraction></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; padding-bottom: 1pt">Commercial contracts</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630__srt--ProductOrServiceAxis__custom--CommercialContractsMember_zkqS7ea4ZpP" title="Revenue" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-04-012024-06-30_custom_CommercialContractsMember" id="Fact000487" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,245,113</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__srt--ProductOrServiceAxis__custom--CommercialContractsMember_zUy9NP2utVpe" title="Revenue" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-04-012023-06-30_custom_CommercialContractsMember" id="Fact000489" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,334,604</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630__srt--ProductOrServiceAxis__custom--CommercialContractsMember_zBchFxg9gomh" title="Revenue" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-06-30_custom_CommercialContractsMember" id="Fact000491" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,542,607</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__srt--ProductOrServiceAxis__custom--CommercialContractsMember_zkPTL6CTQ9Mc" title="Revenue" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-06-30_custom_CommercialContractsMember" id="Fact000493" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,270,345</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630_zTaeiCyrSty9" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-04-012024-06-30" id="Fact000494" format="ixt:numdotdecimal" decimals="0" unitRef="USD">20,810,334</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630_zmWdSPZdmrD8" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-04-012023-06-30" id="Fact000495" format="ixt:numdotdecimal" decimals="0" unitRef="USD">20,547,555</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630_zXht3I28nWNh" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-01to2024-06-30" id="Fact000496" format="ixt:numdotdecimal" decimals="0" unitRef="USD">39,891,477</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630_zd0DfriCodZ1" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-06-30" id="Fact000497" format="ixt:numdotdecimal" decimals="0" unitRef="USD">42,564,223</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
</table>

<p style="margin-top: 0; margin-bottom: 0">&#160;</p>

<p style="margin-top: 0; margin-bottom: 0"></p>

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

<ix:exclude><p id="xdx_235_zQAgH3dPfCD4" style="margin-top: 0; margin-bottom: 0">&#160;</p></ix:exclude>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Three months ended<br/> June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Six months ended<br/> June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; text-align: left">Revenue recognized using over time revenue recognition model</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zrR6PoGSFfLe" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-04-012024-06-30_us-gaap_TransferredOverTimeMember" id="Fact000499" format="ixt:numdotdecimal" decimals="0" unitRef="USD">20,596,186</ix:nonFraction></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 id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zIT8PVETbA1h" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-04-012023-06-30_us-gaap_TransferredOverTimeMember" id="Fact000500" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,669,843</ix:nonFraction></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 id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zzqmhPIRZTHl" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-06-30_us-gaap_TransferredOverTimeMember" id="Fact000501" format="ixt:numdotdecimal" decimals="0" unitRef="USD">39,466,552</ix:nonFraction></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 id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zXjYOXrafqeg" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-06-30_us-gaap_TransferredOverTimeMember" id="Fact000502" format="ixt:numdotdecimal" decimals="0" unitRef="USD">39,300,073</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Revenue recognized using point in time revenue recognition model</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zWjKION34EWd" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-04-012024-06-30_us-gaap_TransferredAtPointInTimeMember" id="Fact000503" format="ixt:numdotdecimal" decimals="0" unitRef="USD">214,148</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zdeyV5IDlwUc" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-04-012023-06-30_us-gaap_TransferredAtPointInTimeMember" id="Fact000504" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,877,712</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zkoqkl9slWa4" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-06-30_us-gaap_TransferredAtPointInTimeMember" id="Fact000505" format="ixt:numdotdecimal" decimals="0" unitRef="USD">424,925</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_z2bB08FFed47" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-06-30_us-gaap_TransferredAtPointInTimeMember" id="Fact000506" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,264,150</ix:nonFraction></td><td style="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">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630_zZ8Kv6tG2akh" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-04-012024-06-30" id="Fact000507" format="ixt:numdotdecimal" decimals="0" unitRef="USD">20,810,334</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630_zjOwwFmwo4F1" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-04-012023-06-30" id="Fact000508" format="ixt:numdotdecimal" decimals="0" unitRef="USD">20,547,555</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630_zL3Sfn6ynKWd" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-01to2024-06-30" id="Fact000509" format="ixt:numdotdecimal" decimals="0" unitRef="USD">39,891,477</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630_zh5LuEciEMdk" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-06-30" id="Fact000510" format="ixt:numdotdecimal" decimals="0" unitRef="USD">42,564,223</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
</table>

</ix:nonNumeric><p id="xdx_8AD_zn2BqDuiw2A9" 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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Favorable/(Unfavorable)
Adjustments to Gross Profit </i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
review our Estimates at Completion (&#8220;EAC&#8221;) at least quarterly. Due to the nature of the work required to be performed
on many of the Company&#8217;s performance obligations, the estimation of total revenue and cost at completion is complex, subject
to many inputs, and requires significant judgment by management on a contract-by-contract basis. As part of this process, management
reviews information including, but not limited to, any outstanding key contract matters, progress towards completion and the related
program schedule, identified risks and opportunities, and the related changes in estimates of revenues and costs. The risks and
opportunities relate to management&#8217;s judgment about the ability and cost to achieve the schedule, consideration of customer-directed
delays or reductions in scheduled deliveries, technical requirements, customer activity levels, and related variable consideration.
Management must make assumptions and estimates regarding contract revenue and costs, including estimates of labor productivity
and availability, the complexity and scope of the work to be performed, the availability and cost of materials including any impact
from changing costs or inflation, the length of time to complete the performance obligation, the availability and timing of funding
from our customer, and overhead cost rates, among others.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Changes
in estimates of net sales, cost of sales, and the related impact to operating profit on contracts recognized over time are recognized
on a cumulative catch-up basis, which recognizes the cumulative effect of the profit changes on current and prior periods based
on a performance obligation&#8217;s percentage-of-completion in the current period. A significant change in one or more of these
estimates could affect the profitability of one or more of our performance obligations. Our EAC adjustments also include the establishment
of, and changes to, loss provisions for our contracts accounted for on a percentage-of-completion basis.</span></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-06-30" escape="true" id="Fact000512" name="cvu:ScheduleOfEstimatesAtCompletionAdjustmentsTableTextBlock"><p id="xdx_899_ecustom--ScheduleOfEstimatesAtCompletionAdjustmentsTableTextBlock_zqUwFEWH7QY1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net
EAC adjustments had the following impact on our gross profit during the six months ended June 30, 2024 and 2023:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
<tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Six months ended</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2024</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2023</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 50%; text-align: left">Favorable adjustments</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98B_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20240101__20240630__srt--CumulativeEffectPeriodOfAdoptionAxis__custom--FavorableAdjustmentMember_z9YLm0hkPDm8" title="Favorable adjustments" style="width: 12%; text-align: right"><ix:nonFraction name="cvu:EstimatesAtCompletionAdjustmentToGrossProfit" contextRef="From2024-01-012024-06-30_custom_FavorableAdjustmentMember" id="Fact000514" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,490,839</ix:nonFraction></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 id="xdx_98F_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20230101__20230630__srt--CumulativeEffectPeriodOfAdoptionAxis__custom--FavorableAdjustmentMember_zgSUWGJD73pa" title="Favorable adjustments" style="width: 12%; text-align: right"><ix:nonFraction name="cvu:EstimatesAtCompletionAdjustmentToGrossProfit" contextRef="From2023-01-012023-06-30_custom_FavorableAdjustmentMember" id="Fact000516" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,913,135</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Unfavorable adjustments</td><td>&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_982_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20240101__20240630__srt--CumulativeEffectPeriodOfAdoptionAxis__custom--UnfavorableAdjustmentMember_zy2r1iSfJKfe" title="Unfavorable adjustments" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="cvu:EstimatesAtCompletionAdjustmentToGrossProfit" contextRef="From2024-01-012024-06-30_custom_UnfavorableAdjustmentMember" id="Fact000518" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,849,017</ix:nonFraction></td><td style="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">&#160;</td><td id="xdx_987_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20230101__20230630__srt--CumulativeEffectPeriodOfAdoptionAxis__custom--UnfavorableAdjustmentMember_zYyTxWV7RMpl" title="Unfavorable adjustments" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="cvu:EstimatesAtCompletionAdjustmentToGrossProfit" contextRef="From2023-01-012023-06-30_custom_UnfavorableAdjustmentMember" id="Fact000520" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,189,848</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; 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">Net adjustments</td><td>&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98F_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20240101__20240630_zfeOy1qQlTL8" title="Net adjustments" style="border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction name="cvu:EstimatesAtCompletionAdjustmentToGrossProfit" contextRef="From2024-01-01to2024-06-30" id="Fact000522" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,358,178</ix:nonFraction></td><td style="border-bottom: Black 2.5pt double; text-align: left">)</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20230101__20230630_ztfYjmJgcNRh" title="Net adjustments" style="border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction name="cvu:EstimatesAtCompletionAdjustmentToGrossProfit" contextRef="From2023-01-012023-06-30" id="Fact000524" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">276,713</ix:nonFraction></td><td style="border-bottom: Black 2.5pt double; text-align: left">)</td></tr>
</table>

</ix:nonNumeric><p id="xdx_8AC_zrxdYQ9sk0Dg" 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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Transaction
Price Allocated to Remaining Performance Obligations</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of June 30, 2024, the aggregate amount of transaction price allocated to the remaining performance obligations was approximately
$<span id="xdx_90D_eus-gaap--RevenueRemainingPerformanceObligation_iI_pn5n6_c20240630_z6iyFkAifCO" title="Remaining performance obligations"><ix:nonFraction name="us-gaap:RevenueRemainingPerformanceObligation" contextRef="AsOf2024-06-30" id="Fact000526" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD">87.0</ix:nonFraction></span> million. This represents the amount of revenue the Company expects to recognize in the future on contracts with unsatisfied
or partially satisfied performance obligations as of June 30, 2024.</span></p>

</ix:continuation><p id="xdx_817_zUPUNfY3kM62" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: top">
    <td id="xdx_809_ecustom--ContractWithCustomerAssetAndLiabilityTextBlock_zCPbBJcaaSig" style="width: 60px"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" continuedAt="Con000528-01" escape="true" id="Fact000528" name="cvu:ContractWithCustomerAssetAndLiabilityTextBlock"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>3.</b></span></ix:nonNumeric></td>
    <td style="text-align: justify"><ix:continuation continuedAt="Con000528-02" id="Con000528-01"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b><span id="xdx_82A_zbpmTvTm6hRf">CONTRACT
    ASSETS AND LIABILITIES</span></b></span></ix:continuation></td></tr>
</table>
<ix:continuation id="Con000528-02"><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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Contract
assets represent revenue recognized on contracts in excess of amounts invoiced to the customers and the Company&#8217;s right
to consideration is conditional on something other than the passage of time. Amounts may not exceed their net realizable value.
Under the typical payment terms of our government as well as military contractor contracts, the customer retains a portion of
the contract price until completion of the contract, as a measure of protection for the customer. Our government and military
contractor contracts therefore typically result in revenue recognized in excess of billings, which we present as contract assets.
Contract assets are classified as current assets. The Company&#8217;s contract liabilities represent customer payments received
or due from the customer in excess of revenue recognized. Contract liabilities are classified as current liabilities.</span></p>

<ix:nonNumeric contextRef="From2024-01-01to2024-06-30" escape="true" id="Fact000530" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock"><p id="xdx_892_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_z6K2XTXHpErl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="display: none; visibility: hidden; font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B9_z3W71c8rA8Ll">Schedule of contract assets and liabilities</span></span></p>

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

<table cellspacing="0" cellpadding="0" summary="xdx: Disclosure - Schedule of Contract liabilities are classified as current liabilities (Details)" id="xdx_30B_134_zryApOrgqaZd" style="font: 10pt Times New Roman, Times, Serif; width: 80%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" id="xdx_49C_20240630_zKba01UBnMx9" style="border-bottom: black 1pt solid"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June
30,&#160;</b></span></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2024&#160;</b></span></p></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" id="xdx_490_20231231_z0gnuge83NN5" style="border-bottom: black 1pt solid"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>December
31,&#160;</b></span></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2023</b></span></p></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_403_eus-gaap--ContractWithCustomerAssetNet_iI_maNCAz5zf_z0u83ePfyhpb" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; width: 46%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Contract
    assets</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 14%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNet" contextRef="AsOf2024-06-30" id="Fact000532" format="ixt:numdotdecimal" decimals="0" unitRef="USD">34,183,988</ix:nonFraction></span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 14%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNet" contextRef="AsOf2023-12-31" id="Fact000533" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,312,068</ix:nonFraction></span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_403_eus-gaap--ContractWithCustomerLiability_iI_msNCAz5zf_zxC03RkHEJr4" style="background-color: White">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Contract liabilities</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:ContractWithCustomerLiability" contextRef="AsOf2024-06-30" id="Fact000535" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,482,535</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:ContractWithCustomerLiability" contextRef="AsOf2023-12-31" id="Fact000536" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,937,629</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
</table>
</ix:nonNumeric><p id="xdx_8AE_zR614hN7yVhc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: 10pt Times New Roman, Times, Serif">Revenue
recognized for the six months ended June 30, 2024 and 2023 that was included in the contract liabilities balance as of January&#160;1,
2024 and 2023, respectively, was approximately $<span id="xdx_900_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pn5n6_c20240101__20240630_zrVV12SlGPh5" title="Revenue recognized that was included in contract liabilities"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" contextRef="From2024-01-01to2024-06-30" id="Fact000538" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD">4.1</ix:nonFraction></span> million and $<span id="xdx_90A_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pn5n6_c20230101__20230630_zPoFFaRdwhO9" title="Revenue recognized that was included in contract liabilities"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" contextRef="From2023-01-012023-06-30" id="Fact000540" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD">1.9</ix:nonFraction></span> million, respectively.</span></p>

</ix:continuation><p id="xdx_81E_zgQyYaS4F8Il" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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 id="xdx_803_eus-gaap--InventoryDisclosureTextBlock_zxTKuFu5d3Q1" style="width: 60px"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" continuedAt="Con000542-01" escape="true" id="Fact000542" name="us-gaap:InventoryDisclosureTextBlock"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>4.</b></span></ix:nonNumeric></td>
    <td style="text-align: justify"><ix:continuation continuedAt="Con000542-02" id="Con000542-01"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b><span id="xdx_826_zOHrDObcDGm2">INVENTORY</span></b></span></ix:continuation></td></tr>
</table>
<ix:continuation id="Con000542-02"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:nonNumeric contextRef="From2024-01-01to2024-06-30" escape="true" id="Fact000544" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock"><p id="xdx_890_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zI5Th5GmzpJg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
components of inventory consisted of the following:</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 80%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" id="xdx_49C_20240630_zT6W0z9FlNIe" style="border-bottom: black 1pt solid"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June
30,&#160;&#160;</b></span></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2024&#160;&#160;</b></span></p></td>
    <td style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" id="xdx_495_20231231_zJ8gannY4xFj" style="border-bottom: black 1pt solid"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>December
31,&#160;&#160;</b></span></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2023&#160;</b></span></p></td>
    <td style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_400_eus-gaap--InventoryRawMaterials_iI_maINzyi6_z8aYJnAyaoCf" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; width: 46%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Raw
    materials</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 14%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:InventoryRawMaterials" contextRef="AsOf2024-06-30" id="Fact000546" format="ixt:numdotdecimal" decimals="0" unitRef="USD">537,216</ix:nonFraction></span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 14%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:InventoryRawMaterials" contextRef="AsOf2023-12-31" id="Fact000547" format="ixt:numdotdecimal" decimals="0" unitRef="USD">648,264</ix:nonFraction></span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_401_eus-gaap--InventoryWorkInProcess_iI_maINzyi6_zFHULIMbQaAh" style="background-color: White">
    <td style="vertical-align: bottom; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Work
    in progress</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:InventoryWorkInProcess" contextRef="AsOf2024-06-30" id="Fact000549" format="ixt:numdotdecimal" decimals="0" unitRef="USD">91,680</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:InventoryWorkInProcess" contextRef="AsOf2023-12-31" id="Fact000550" format="ixt:numdotdecimal" decimals="0" unitRef="USD">75,795</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_405_eus-gaap--InventoryFinishedGoods_iI_maINzyi6_zeBtlooqIDG" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Finished
    goods</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" contextRef="AsOf2024-06-30" id="Fact000552" format="ixt:numdotdecimal" decimals="0" unitRef="USD">503,624</ix:nonFraction></span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" contextRef="AsOf2023-12-31" id="Fact000553" format="ixt:numdotdecimal" decimals="0" unitRef="USD">712,588</ix:nonFraction></span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_40A_eus-gaap--InventoryNet_iTI_mtINzyi6_zuK9OOmlXy3a" style="background-color: White">
    <td style="vertical-align: bottom; text-align: justify; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inventory,
    net</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2024-06-30" id="Fact000555" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,132,520</ix:nonFraction></span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2023-12-31" id="Fact000556" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,436,647</ix:nonFraction></span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
</table>
</ix:nonNumeric><p id="xdx_8AA_z3782Kve7CYg" style="margin-top: 0; margin-bottom: 0">&#160;</p>

</ix:continuation><p id="xdx_817_zAIPCb8AfOsk" style="margin-top: 0; margin-bottom: 0">&#160;</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 id="xdx_80E_eus-gaap--DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_zgeZ5edLVWul" style="width: 60px"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" continuedAt="Con000558-01" escape="true" id="Fact000558" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>5.</b></span></ix:nonNumeric></td>
    <td style="text-align: justify"><ix:continuation continuedAt="Con000558-02" id="Con000558-01"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b><span id="xdx_82A_zlvdCaFpRErh">STOCK-BASED
    COMPENSATION</span></b></span></ix:continuation></td></tr>
</table>
<ix:continuation id="Con000558-02"><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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
2009, the Company adopted the Performance Equity Plan 2009 (the &#8220;2009 Plan&#8221;). The 2009 Plan reserved <span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_c20091231__us-gaap--PlanNameAxis__custom--PerformanceEquityPlan2009Member_zkqSDcBabaV1" title="Shahes reserved for issuance"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" contextRef="AsOf2009-12-31_custom_PerformanceEquityPlan2009Member" id="Fact000560" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">500,000</ix:nonFraction></span> common shares for issuance. The 2009 Plan provides for the issuance of either incentive stock options or nonqualified stock options to
employees, consultants or others who provide services to the Company. The Company has <span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_iI_c20240630__us-gaap--PlanNameAxis__custom--PerformanceEquityPlan2009Member_zEsneLtulGOb" title="Shares available for grant"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" contextRef="AsOf2024-06-30_custom_PerformanceEquityPlan2009Member" id="Fact000562" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">2,364</ix:nonFraction></span>&#160;shares available for grant under
the 2009 Plan as of June 30, 2024.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
2016, the Company adopted the 2016 Long Term Incentive Plan (the &#8220;2016 Plan&#8221;). The 2016 Plan reserved&#160;<span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_c20161231__us-gaap--PlanNameAxis__custom--LTIP2016Member_ztnadXzbXKSf"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" contextRef="AsOf2016-12-31_custom_LTIP2016Member" id="Fact000563" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">600,000</ix:nonFraction></span>&#160;common
shares for issuance, provided that no more than <span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_c20161231__us-gaap--PlanNameAxis__custom--LTIP2016Member__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zvZRuy6Rev25"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" contextRef="AsOf2016-12-31_custom_LTIP2016Member_us-gaap_EmployeeStockOptionMember" id="Fact000564" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">200,000</ix:nonFraction></span> common shares be granted as incentive stock options. Awards may be made
or granted to employees, officers, directors and consultants in the form of incentive stock options, non-qualified stock options,
stock appreciation rights, restricted stock, restricted stock units and other stock-based awards. Any shares of common stock granted
in connection with awards other than stock options and stock appreciation rights are counted against the number of shares reserved
for issuance under the 2016 Plan as one and one-half shares of common stock for every one share of common stock granted in connection
with such award. Any shares of common stock granted in connection with stock options and stock appreciation rights are counted
against the number of shares reserved for issuance under the 2016 Plan as one share for every one share of common stock issuable
upon the exercise of such stock option or stock appreciation right awarded. In the fourth quarter of 2020, the Company added <span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized_c20201001__20201231__us-gaap--PlanNameAxis__custom--LTIP2016Member_zfl6mSRBGOW7" title="Increase in number of shares reserved for issuance"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" contextRef="From2020-10-012020-12-31_custom_LTIP2016Member" id="Fact000566" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">800,000</ix:nonFraction></span>
shares to the 2016 Plan, which increased the number of shares reserved for issuance under the 2016 Plan to <span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_c20201231__us-gaap--PlanNameAxis__custom--LTIP2016Member_zi6d2FgiEp1d"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" contextRef="AsOf2020-12-31_custom_LTIP2016Member" id="Fact000567" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,400,000</ix:nonFraction></span> shares. In
the second quarter of 2023, the Company added an additional <span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized_c20230401__20230630__us-gaap--PlanNameAxis__custom--LTIP2016Member_zb5BDpIL1V5k"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" contextRef="From2023-04-012023-06-30_custom_LTIP2016Member" id="Fact000568" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">800,000</ix:nonFraction></span> shares to the 2016 Plan, which increased the number of shares
for reserved for issuance under the 2016 Plan to <span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_c20230630__us-gaap--PlanNameAxis__custom--LTIP2016Member_ziTUKHGUZm1b" title="Shares reserved for issuance"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" contextRef="AsOf2023-06-30_custom_LTIP2016Member" id="Fact000570" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">2,200,000</ix:nonFraction></span> shares. The Company has <span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_iI_c20240630__us-gaap--PlanNameAxis__custom--LTIP2016Member_z5F79xiT2OZb"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" contextRef="AsOf2024-06-30_custom_LTIP2016Member" id="Fact000571" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">331,912</ix:nonFraction></span> shares available for grant under the
2016 Plan as of June 30, 2024.</span></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-06-30" escape="true" id="Fact000573" name="us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"><p id="xdx_891_eus-gaap--ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_zGn5rpIooxZ3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">Stock-based
compensation expense for restricted stock in the consolidated statements of operations is summarized as follows:</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="display: none; visibility: hidden; background-color: White">
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td id="xdx_491_20240401__20240630_zb9WdUnm6YAd" style="border-bottom: black 1pt solid; vertical-align: top; text-align: right">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td id="xdx_492_20230401__20230630_zmfkDGSCkGg4" style="border-bottom: black 1pt solid; vertical-align: top; text-align: right">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td id="xdx_49A_20240101__20240630_zfPfFPpCbQaa" style="border-bottom: black 1pt solid; vertical-align: top; text-align: right">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td id="xdx_491_20230101__20230630_zIF232H0jeXd" style="border-bottom: black 1pt solid; vertical-align: top; text-align: right">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="6" style="border-bottom: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Three
    months ended</b><br/>
    <b>June 30,</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="6" style="border-bottom: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Six
    months ended</b><br/>
    <b>June 30,</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr style="vertical-align: bottom">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2024</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2023</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2024</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2023</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_40F_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--CostOfSalesMember_z9RnM3TvESS3" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; width: 40%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cost
    of sales</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl0575">&#8212;</span></span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2023-04-012023-06-30_us-gaap_CostOfSalesMember" id="Fact000576" format="ixt:numdotdecimal" decimals="0" unitRef="USD">37,171</ix:nonFraction></span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2024-01-012024-06-30_us-gaap_CostOfSalesMember" id="Fact000577" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">10,755</ix:nonFraction></span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2023-01-012023-06-30_us-gaap_CostOfSalesMember" id="Fact000578" format="ixt:numdotdecimal" decimals="0" unitRef="USD">52,248</ix:nonFraction></span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_401_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--SellingGeneralAndAdministrativeExpensesMember_z9kePSkySZq" style="background-color: White">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Selling,
    general and administrative</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2024-04-012024-06-30_us-gaap_SellingGeneralAndAdministrativeExpensesMember" id="Fact000580" format="ixt:numdotdecimal" decimals="0" unitRef="USD">175,536</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2023-04-012023-06-30_us-gaap_SellingGeneralAndAdministrativeExpensesMember" id="Fact000581" format="ixt:numdotdecimal" decimals="0" unitRef="USD">143,045</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2024-01-012024-06-30_us-gaap_SellingGeneralAndAdministrativeExpensesMember" id="Fact000582" format="ixt:numdotdecimal" decimals="0" unitRef="USD">467,813</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2023-01-012023-06-30_us-gaap_SellingGeneralAndAdministrativeExpensesMember" id="Fact000583" format="ixt:numdotdecimal" decimals="0" unitRef="USD">466,891</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_40A_eus-gaap--AllocatedShareBasedCompensationExpense_zR8qgxWMDpoe" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Total stock-based
    compensation expense</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2024-04-012024-06-30" id="Fact000585" format="ixt:numdotdecimal" decimals="0" unitRef="USD">175,536</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2023-04-012023-06-30" id="Fact000586" format="ixt:numdotdecimal" decimals="0" unitRef="USD">180,216</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2024-01-01to2024-06-30" id="Fact000587" format="ixt:numdotdecimal" decimals="0" unitRef="USD">457,058</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2023-01-012023-06-30" id="Fact000588" format="ixt:numdotdecimal" decimals="0" unitRef="USD">519,139</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
</table>
</ix:nonNumeric><p id="xdx_8A6_zCF0mIn08Nuc" 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"></p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">The
Company grants restricted stock units (&#8220;RSUs&#8221;) to its board of directors as partial compensation. These RSUs vest
quarterly on a straight-line basis over a <span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_dxL_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zV93bLWr7oL1" title="Vesting period::XDX::P1Y"><span style="-sec-ix-hidden: xdx2ixbrl0591">one-year</span></span> period.</span> <span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">At
June 30, 2024, the weighted average remaining amortization period was <span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dt_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z6mob7tfpYYd" title="Weighted average remaining amortization period"><ix:nonNumeric contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockUnitsRSUMember" format="ixt-sec:durwordsen" id="Fact000593" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">six months</ix:nonNumeric></span>.</span></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-06-30" escape="true" id="Fact000595" name="us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock"><p id="xdx_89B_eus-gaap--ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_zutusuLeDh03" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes activity related to outstanding RSUs for the six months ended June 30, 2024:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 60%">
<tr style="vertical-align: bottom">
    <td style="text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">RSUs</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Weighted Average&#160;</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Grant Date</b>&#160;</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Fair Value of</b>&#160;</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>RSUs</b></span></p></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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-vested &#8211; January 1, 2024 </span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iS_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zskxuSJNc56e" title="Non vested January 1, 2024" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0597">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zqU5lRwfAhs4" title="Non vested January 1, 2024" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0599">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="width: 30%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Granted </span></td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zrt4ryaLwpl1" title="Granted" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockUnitsRSUMember" id="Fact000601" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">181,323</ix:nonFraction></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 id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zllch5iY4hqc" title="Granted" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockUnitsRSUMember" id="Fact000603" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.45</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Vested </span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z19MbzxT8r85" title="Vested" style="text-align: right">(<ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockUnitsRSUMember" id="Fact000605" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">90,660</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_989_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zw2LXOtBqP55" title="Vested" style="text-align: right"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockUnitsRSUMember" id="Fact000607" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.45</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Forfeited </span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z6tXBsWIu0f1" title="Forfeited" style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0609">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_98C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zXjZc01zUQ1" title="Forfeited" style="border-bottom: Black 1pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0611">&#8212;</span></td><td style="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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-vested &#8211; June 30, 2024 </span></td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iE_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zZKE9YGev1Cb" title="Non vested June 30, 2024" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" contextRef="AsOf2024-06-30_us-gaap_RestrictedStockUnitsRSUMember" id="Fact000613" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">90,663</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_985_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zJ3FvIOoMyw1" title="Non vested June 30, 2024" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" contextRef="AsOf2024-06-30_us-gaap_RestrictedStockUnitsRSUMember" id="Fact000615" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.45</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
</table>

</ix:nonNumeric><p id="xdx_8AF_zXqQrBrTd1mf" 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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">The
Company grants&#160;shares of common stock (&#8220;Restricted Stock Awards&#8221; or &#8220;RSAs&#8221;) to select employees.
These shares have various vesting dates, ranging from vesting on the grant date to as late as <span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_dt_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember__srt--RangeAxis__srt--MaximumMember_zc0reXGYSq8i"><ix:nonNumeric contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockMember_srt_MaximumMember" format="ixt-sec:durwordsen" id="Fact000616" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">four years</ix:nonNumeric></span> from the date of grant.
In the event that the employee&#8217;s employment is voluntarily terminated prior to certain vesting dates, portions of the shares
may be forfeited. </span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">At June 30, 2024, the weighted
average remaining amortization period was <span id="xdx_90B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zIQP2frc1aQ4" title="Weighted average remaining amortization period"><ix:nonNumeric contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockMember" format="ixt-sec:duryear" id="Fact000618" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">3</ix:nonNumeric></span> years.</span></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-06-30" escape="true" id="Fact000620" name="us-gaap:ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock"><p id="xdx_898_eus-gaap--ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock_z8AxhSup2Ecf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes activity related to outstanding Restricted Stock Awards for the six months ended June 30, 2024:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 60%">
<tr style="vertical-align: bottom">
    <td style="text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Restricted</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">Stock Awards</p></td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Weighted Average</b>&#160;&#160;</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Grant Date</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Fair Value of&#160;</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Restricted Stock&#160;</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Awards</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 30%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-vested &#8211; January 1, 2024 </span></td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iS_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zjzX9F5mp0jh" title="Non vested January 1, 2024" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" contextRef="AsOf2023-12-31_us-gaap_RestrictedStockMember" id="Fact000622" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">167,071</ix:nonFraction></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 id="xdx_988_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_ziKZ1mho6F92" title="Non vested January 1, 2024" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" contextRef="AsOf2023-12-31_us-gaap_RestrictedStockMember" id="Fact000624" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.25</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Granted </span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zguxEhLygzze" title="Granted" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockMember" id="Fact000626" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">87,604</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zpZxFjJSZq7a" title="Granted" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockMember" id="Fact000628" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.33</ix:nonFraction></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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Vested </span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_ziRglwZYyjlk" title="Vested" style="text-align: right">(<ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockMember" id="Fact000630" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">58,587</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zczuJq9ODd9c" title="Vested" style="text-align: right"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockMember" id="Fact000632" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.18</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Forfeited </span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zDMjV6kJrrE" title="Forfeited" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockMember" id="Fact000634" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,572</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_982_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zPDJRlgjgPxa" title="Forfeited" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockMember" id="Fact000636" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.03</ix:nonFraction></td><td style="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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-vested &#8211; June 30, 2024 </span></td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iE_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_z65qMpPIaG69" title="Non vested June 30, 2024" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" contextRef="AsOf2024-06-30_us-gaap_RestrictedStockMember" id="Fact000638" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">183,516</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zRYsGv6flA2e" title="Non vested June 30, 2024" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" contextRef="AsOf2024-06-30_us-gaap_RestrictedStockMember" id="Fact000640" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.84</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
</table>

</ix:nonNumeric><p id="xdx_8A7_zCZsuU9pCz97" 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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company grants shares of common stock (&#8220;Performance Restricted Stock Awards&#8221; or &#8220;PRSAs&#8221;) to select officers
as part of our long-term incentive program that will result in that number of PRSAs being paid out if the target performance metric
is achieved. The award vesting is based on specific performance metrics related to accounts payable delinquency, debt, and net
income during the performance period. The PRSAs vest at <span id="xdx_90A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_dp_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember__us-gaap--VestingAxis__us-gaap--ShareBasedCompensationAwardTrancheOneMember_zJN12GYg5xzg" title="Vesting percentage"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" contextRef="From2024-01-012024-06-30_us-gaap_PerformanceSharesMember_us-gaap_ShareBasedCompensationAwardTrancheOneMember" id="Fact000642" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">0</ix:nonFraction></span>% or <span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_dp_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember__us-gaap--VestingAxis__us-gaap--ShareBasedCompensationAwardTrancheTwoMember_zTqB148EdT8e" title="Vesting percentage"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" contextRef="From2024-01-012024-06-30_us-gaap_PerformanceSharesMember_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" id="Fact000644" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">100</ix:nonFraction></span>% and all three metrics must be met to vest at <span id="xdx_904_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_dp_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember__us-gaap--VestingAxis__us-gaap--ShareBasedCompensationAwardTrancheTwoMember_z5tnMXmUI6g4" title="Vesting percentage"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" contextRef="From2024-01-012024-06-30_us-gaap_PerformanceSharesMember_us-gaap_ShareBasedCompensationAwardTrancheTwoMember" id="Fact000646" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">100</ix:nonFraction></span>%. The PRSAs
granted under this program will vest on the fourth anniversary of the grant date, subject to the aforementioned performance criteria.
At June 30, 2024, the weighted average remaining amortization period was <span id="xdx_90F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zJYYgXhUJM0h" title="Weighted average remaining amortization period"><ix:nonNumeric contextRef="From2024-01-012024-06-30_us-gaap_PerformanceSharesMember" format="ixt-sec:duryear" id="Fact000648" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">2.7</ix:nonNumeric></span> years.</span></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-06-30" escape="true" id="Fact000650" name="us-gaap:ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock"><p id="xdx_892_eus-gaap--ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock_zEd0L7ZJQgXk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes activity related to outstanding PRSAs for the six months ended June 30, 2024:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 60%">
<tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">PRSAs</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Weighted
Average</b>&#160;</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Grant
Date&#160;</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Fair
Value of&#160;</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>PRSAs&#160;</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 30%">Non-vested &#8211; January 1, 2024</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iS_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zeh892HdjgPf" title="Non vested January 1, 2024" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" contextRef="AsOf2023-12-31_us-gaap_PerformanceSharesMember" id="Fact000652" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">48,050</ix:nonFraction></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 id="xdx_988_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_z5daompbEpL7" title="Non vested January 1, 2024" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" contextRef="AsOf2023-12-31_us-gaap_PerformanceSharesMember" id="Fact000654" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.27</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td>Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zbK57BLzMMw8" title="Granted" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2024-01-012024-06-30_us-gaap_PerformanceSharesMember" id="Fact000656" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">64,611</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_z9eYck8ak7Ul" title="Granted" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2024-01-012024-06-30_us-gaap_PerformanceSharesMember" id="Fact000658" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.91</ix:nonFraction></td><td style="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 id="xdx_98F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_z7CePIOxPLM9" title="Vested" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0660">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zE7mtJUnu8Oc" title="Vested" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0662">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Forfeited</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_z1U16K9RADha" title="Forfeited" style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" contextRef="From2024-01-012024-06-30_us-gaap_PerformanceSharesMember" id="Fact000664" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">49,295</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zQbI1zdLDMog" title="Forfeited" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" contextRef="From2024-01-012024-06-30_us-gaap_PerformanceSharesMember" id="Fact000666" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.23</ix:nonFraction></td><td style="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">Non-vested &#8211; June 30, 2024</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iE_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zIpFDGhT77j8" title="Non vested June 30, 2024" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" contextRef="AsOf2024-06-30_us-gaap_PerformanceSharesMember" id="Fact000668" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">63,366</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zPpxdoF0XPre" title="Non vested June 30, 2024" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" contextRef="AsOf2024-06-30_us-gaap_PerformanceSharesMember" id="Fact000670" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.93</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
</table>

</ix:nonNumeric><p id="xdx_8A4_zV6ceVxf7H0g" 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"></p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">The
fair value of all RSUs, PRSAs and RSAs is based on the closing price of our common stock on the grant date. All RSUs, PRSAs, and
Restricted Stock Awards vest and settle in common stock (on a one-for-one basis).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">As
of June 30, 2024, unamortized stock-based compensation costs related to restricted share arrangements was $<span id="xdx_900_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_iI_c20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_za2EJp9RVWVc" title="Unamortized stock-based compensation costs"><ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" contextRef="AsOf2024-06-30_us-gaap_PerformanceSharesMember" id="Fact000673" format="ixt:numdotdecimal" decimals="0" unitRef="USD">482,781</ix:nonFraction></span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">.</span></p>

</ix:continuation><p id="xdx_81A_zUYYlVMOtsdb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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 id="xdx_809_eus-gaap--EarningsPerShareTextBlock_zn2IBmBrbebl" style="width: 48px"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" continuedAt="Con000675-01" escape="true" id="Fact000675" name="us-gaap:EarningsPerShareTextBlock"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>6.</b></span></ix:nonNumeric></td>
    <td style="text-align: justify"><ix:continuation continuedAt="Con000675-02" id="Con000675-01"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b><span id="xdx_821_zVfC1kCTyZz1">NET
    INCOME PER SHARE</span></b></span></ix:continuation></td></tr>
</table>
<ix:continuation id="Con000675-02"><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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Basic
and diluted income per common share is computed using the weighted average number of common shares outstanding. Diluted income
per common share is adjusted for the incremental shares attributed to unvested RSUs and RSAs. Incremental shares of <span id="xdx_90B_eus-gaap--IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_pid_uShares_c20240401__20240630_zbuOvu0BX7B7" title="Incremental shares used in calculation of diluted income per common share"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" contextRef="From2024-04-012024-06-30" id="Fact000677" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">113,727</ix:nonFraction></span> and
<span id="xdx_90C_eus-gaap--IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_pid_uShares_c20240101__20240630_znW7ohGJXaN3" title="Incremental shares used in calculation of diluted income per common share"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" contextRef="From2024-01-01to2024-06-30" id="Fact000679" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">140,929</ix:nonFraction></span> were used in the calculation of diluted income per common share for the three and six months ended June 30, 2024, respectively.
Incremental shares of <span id="xdx_90F_eus-gaap--IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_pid_uShares_c20230401__20230630_zLgFRElIecHi" title="Incremental shares used in calculation of diluted income per common share"><span id="xdx_903_eus-gaap--IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_pid_uShares_c20230101__20230630_z8Pv8DxJdjSg" title="Incremental shares used in calculation of diluted income per common share"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" contextRef="From2023-04-012023-06-30" id="Fact000681" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" contextRef="From2023-01-012023-06-30" id="Fact000683" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">66,448</ix:nonFraction></ix:nonFraction></span></span> were used in the calculation of diluted income per common share for both the three and six months
ended June 30, 2023.</span></p>

</ix:continuation><p id="xdx_810_zg9YxGvzSZ39" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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 id="xdx_803_eus-gaap--LongTermDebtTextBlock_zK7DRtjrroK3" style="width: 48px"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" continuedAt="Con000685-01" escape="true" id="Fact000685" name="us-gaap:LongTermDebtTextBlock"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>7.</b></span></ix:nonNumeric></td>
    <td style="text-align: justify"><ix:continuation continuedAt="Con000685-02" id="Con000685-01"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b><span id="xdx_823_zQ6fUZvPRUp9">LINE
    OF CREDIT AND LONG-TERM DEBT</span></b></span></ix:continuation></td></tr>
</table>
<ix:continuation id="Con000685-02"><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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
March 24, 2016, the Company entered into the Amended and Restated Credit Agreement with the lenders named therein and BankUnited
N.A. as Sole Arranger, Agent and Collateral Agent (as amended from time to time, the &#8220;Credit Agreement&#8221; or the &#8220;BankUnited
Facility&#8221;). The BankUnited Facility originally provided for a revolving credit loan commitment of $<span id="xdx_908_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pn6n6_c20160324__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_z70D3UnG1Hqc" title="Line of credit facility, maximum borrowing capacity"><ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" contextRef="AsOf2016-03-24_custom_BankUnitedMember_us-gaap_RevolvingCreditFacilityMember" id="Fact000687" format="ixt:numdotdecimal" decimals="-6" scale="6" unitRef="USD">30</ix:nonFraction></span> million (the &#8220;Revolving
Loan&#8221;) and a $<span id="xdx_909_eus-gaap--DebtInstrumentFaceAmount_iI_pn6n6_c20160324__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__custom--TermLoanMember_z6m2s3mR0AQc" title="Debt instrument, face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2016-03-24_custom_BankUnitedMember_custom_TermLoanMember" id="Fact000689" format="ixt:numdotdecimal" decimals="-6" scale="6" unitRef="USD">10</ix:nonFraction></span> million term loan (&#8220;Term Loan&#8221;). The Revolving Loan bears interest at a rate based upon a pricing
grid, as defined in the Credit Agreement.&#160;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
February 20, 2024, the Company entered into a Thirteenth Amendment to the Credit Agreement (the &#8220;Thirteenth Amendment&#8221;).
Under the Thirteenth Amendment, the parties amended the Credit Agreement by (a) extending the maturity date of the Company&#8217;s
existing revolving line of credit to <span id="xdx_900_eus-gaap--LineOfCreditFacilityExpirationDate1_dd_c20240219__20240220__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zsIZtlqkEhpk" title="Expiration date"><ix:nonNumeric contextRef="From2024-02-192024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember" format="ixt:datemonthdayyearen" id="Fact000691" name="us-gaap:LineOfCreditFacilityExpirationDate1">August
31, 2025</ix:nonNumeric></span>; and (b) setting the aggregate maximum principal amount of all revolving line of credit loans to $<span id="xdx_90E_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20240220__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodOneMember_zLklosFsZc27" title="Line of credit facility, maximum borrowing capacity"><ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" contextRef="AsOf2024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodOneMember" id="Fact000693" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">19,800,000</ix:nonFraction></span>
from January 1, 2024 through March 31, 2024, $<span id="xdx_902_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20240220__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodTwoMember_z5Bg65Du5XWl" title="Line of credit facility, maximum borrowing capacity"><ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" contextRef="AsOf2024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodTwoMember" id="Fact000695" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">19,080,000</ix:nonFraction></span>
from April 1, 2024 through June 30, 2024, $<span id="xdx_909_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20240220__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodThreeMember_zS4Iu3Gr7Pvj" title="Line of credit facility, maximum borrowing capacity"><ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" contextRef="AsOf2024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodThreeMember" id="Fact000697" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">18,360,000</ix:nonFraction></span>
from July 1, 2024 through September 30, 2024, $<span id="xdx_90D_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20240220__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodFourMember_zuaWfv4bJNye" title="Line of credit facility, maximum borrowing capacity"><ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" contextRef="AsOf2024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodFourMember" id="Fact000699" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">17,640,000</ix:nonFraction></span>
from October 1, 2024 through December 31, 2024, $<span id="xdx_900_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20240220__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodFiveMember_zT4Zwm7ofJdf" title="Line of credit facility, maximum borrowing capacity"><ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" contextRef="AsOf2024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodFiveMember" id="Fact000701" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">16,920,000</ix:nonFraction></span>
from January 1, 2025 through March 31, 2025, $<span id="xdx_90D_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20240220__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodSixMember_zdB5039rvD4f" title="Line of credit facility, maximum borrowing capacity"><ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" contextRef="AsOf2024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodSixMember" id="Fact000703" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">16,200,000</ix:nonFraction></span>
from April 1, 2025 through June 30, 2025 and $<span id="xdx_902_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20240220__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodSevenMember_zhR7zOF0mOt1" title="Line of credit facility, maximum borrowing capacity"><ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" contextRef="AsOf2024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodSevenMember" id="Fact000705" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">15,480,000</ix:nonFraction></span> thereafter, and for payments to be made by the Company to comply therewith
(if any such payments are necessary), on the first day of each such period.&#160;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Credit Agreement, as amended, requires us to maintain the following financial covenants: (a) minimum debt service coverage ratio
of no less than <span id="xdx_901_ecustom--MinimumDebtServiceCoverageRatio_iI_pip0_uPure_c20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zDESsYEYzoQ1" title="Minimum debt service coverage ratio"><ix:nonFraction name="cvu:MinimumDebtServiceCoverageRatio" contextRef="AsOf2024-06-30_custom_BankUnitedMember" id="Fact000707" format="ixt:numdotdecimal" decimals="INF" scale="0" unitRef="Pure">1.5</ix:nonFraction></span> to 1.0 for trailing four fiscal quarter periods; (b) maximum leverage ratio of no less than <span id="xdx_902_ecustom--MaximumLeverageRatio_iI_pip0_uPure_c20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zBub8vekgDBa"><ix:nonFraction name="cvu:MaximumLeverageRatio" contextRef="AsOf2024-06-30_custom_BankUnitedMember" id="Fact000708" format="ixt:numdotdecimal" decimals="INF" scale="0" unitRef="Pure">4.0</ix:nonFraction></span> to 1.0 for
trailing four fiscal quarter periods; (c) minimum net income after taxes as of the end of each fiscal quarter being no less than
$<span id="xdx_901_ecustom--NetIncomeRequiredUnderAgreement_pip0_c20240101__20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__srt--RangeAxis__srt--MinimumMember_zCgQUEXHIwA8" title="Net income required under agreement"><ix:nonFraction name="cvu:NetIncomeRequiredUnderAgreement" contextRef="From2024-01-012024-06-30_custom_BankUnitedMember_srt_MinimumMember" id="Fact000710" format="ixt:numdotdecimal" decimals="INF" scale="0" unitRef="USD">1.00</ix:nonFraction></span>; and (d) a minimum adjusted EBITDA at the end of each fiscal quarter of no less than $<span id="xdx_900_ecustom--MinimumAdjustedEbitda_pn5n6_c20240101__20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zbNQAuWWExa1" title="Minimum adjusted EBITDA"><ix:nonFraction name="cvu:MinimumAdjustedEbitda" contextRef="From2024-01-012024-06-30_custom_BankUnitedMember" id="Fact000712" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD">1.0</ix:nonFraction></span> million. The additional principal
payments, increase in interest and the Amendment Fee provided for in the Eighth Amendment (entered into on October 28, 2021) and
Ninth Amendment to the Credit Agreement (entered into on April 12, 2022) are excluded for purposes of calculating compliance with
each of the financial covenants.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
BankUnited Facility is secured by all of the Company&#8217;s assets and the Revolving Loan bears interest at the Prime Rate +
<span id="xdx_903_eus-gaap--DebtInstrumentBasisSpreadOnVariableRate1_pid_dp_uPure_c20240101__20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__custom--RevolvingLoanMember_zwKls66Ck9c1" title="Prime rate Plus"><ix:nonFraction name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" contextRef="From2024-01-012024-06-30_custom_BankUnitedMember_custom_RevolvingLoanMember" id="Fact000714" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">3.50</ix:nonFraction></span>%. The Prime Rate was <span id="xdx_901_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240630_z5PoJcDN9kQb" title="Prime rate"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2024-06-30" id="Fact000716" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.50</ix:nonFraction></span>% as of June 30, 2024 and as such, the Company&#8217;s interest rate on the Revolving Loan was <span id="xdx_903_eus-gaap--LongTermDebtPercentageBearingVariableInterestRate_iI_pid_dp_uPure_c20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__custom--RevolvingLoanMember_zSe9WHN2DE88" title="Interest rate"><ix:nonFraction name="us-gaap:LongTermDebtPercentageBearingVariableInterestRate" contextRef="AsOf2024-06-30_custom_BankUnitedMember_custom_RevolvingLoanMember" id="Fact000718" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">12.00</ix:nonFraction></span>%
as of June 30, 2024.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of June 30, 2024 and December 31, 2023, the Company had $<span id="xdx_90F_eus-gaap--LineOfCredit_iI_pp0p0_c20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zBzkgpRcQ9la" title="Outstanding loans"><ix:nonFraction name="us-gaap:LineOfCredit" contextRef="AsOf2024-06-30_custom_BankUnitedMember_us-gaap_RevolvingCreditFacilityMember" id="Fact000720" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">18,840,000</ix:nonFraction></span> and $<span id="xdx_900_eus-gaap--LineOfCredit_iI_pp0p0_c20231231__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zfYpKIBRjjF4" title="Outstanding loans"><ix:nonFraction name="us-gaap:LineOfCredit" contextRef="AsOf2023-12-31_custom_BankUnitedMember_us-gaap_RevolvingCreditFacilityMember" id="Fact000722" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">20,040,000</ix:nonFraction></span> outstanding under the Revolving Loan, respectively.
$<span id="xdx_903_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zoH6Pinjyhzc" title="Current portion of line of credit"><ix:nonFraction name="us-gaap:LinesOfCreditCurrent" contextRef="AsOf2024-06-30_custom_BankUnitedMember_us-gaap_RevolvingCreditFacilityMember" id="Fact000724" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,640,000</ix:nonFraction></span> of the Revolving Loan is payable by June 30, 2025 and the remaining balance of $<span id="xdx_905_eus-gaap--LongTermLineOfCredit_iI_pp0p0_c20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_znJ6jp1zhVm6" title="Line of credit"><ix:nonFraction name="us-gaap:LongTermLineOfCredit" contextRef="AsOf2024-06-30_custom_BankUnitedMember_us-gaap_RevolvingCreditFacilityMember" id="Fact000726" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">16,200,000</ix:nonFraction></span> of the revolving line of
credit matures and is payable by August 31, 2025.&#160;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has cumulatively paid approximately $<span id="xdx_908_eus-gaap--PaymentsOfDebtIssuanceCosts_pp0p0_c20160325__20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_znUOrBlrHd47" title="Payments of debt issuance costs"><ix:nonFraction name="us-gaap:PaymentsOfDebtIssuanceCosts" contextRef="From2016-03-252024-06-30_custom_BankUnitedMember" id="Fact000728" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">962,000</ix:nonFraction></span> of total debt issuance costs in connection with the BankUnited Facility,
of which approximately $<span id="xdx_901_eus-gaap--DeferredFinanceCostsNoncurrentNet_iI_pp0p0_c20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zAGIY3Q70Io9" title="Debt issuance costs"><ix:nonFraction name="us-gaap:DeferredFinanceCostsNoncurrentNet" contextRef="AsOf2024-06-30_custom_BankUnitedMember" id="Fact000730" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">55,000</ix:nonFraction></span> and $<span id="xdx_906_eus-gaap--DeferredFinanceCostsNoncurrentNet_iI_pp0p0_c20231231__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zbuyF2q5XM5l" title="Debt issuance costs"><ix:nonFraction name="us-gaap:DeferredFinanceCostsNoncurrentNet" contextRef="AsOf2023-12-31_custom_BankUnitedMember" id="Fact000732" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">82,000</ix:nonFraction></span> is unamortized and is included in other assets at June 30, 2024 and December 31, 2023,
respectively.&#160;</span></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-06-30" escape="true" id="Fact000734" name="us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock"><p id="xdx_897_eus-gaap--FinanceLeaseLiabilityMaturityTableTextBlock_zYNqlomdNYR6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Also
                                                                                                                                                included in long-term debt are financing leases of $<span id="xdx_903_eus-gaap--FinanceLeaseLiability_iI_pp0p0_c20240630_zxSWT48JYkg8" title="Financing leases" class="xdx_phnt_RGlzY2xvc3VyZSAtIExJTkUgT0YgQ1JFRElUIEFORCBMT05HLVRFUk0gREVCVCAoRGV0YWlscyBOYXJyYXRpdmUpAA__"><ix:nonFraction name="us-gaap:FinanceLeaseLiability" contextRef="AsOf2024-06-30" id="Fact000736" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">41,484</ix:nonFraction></span>
                                                                                                                                                and $<span id="xdx_90B_eus-gaap--FinanceLeaseLiability_iI_pp0p0_c20231231_ze6Oq9dYcAc2" title="Financing leases" class="xdx_phnt_RGlzY2xvc3VyZSAtIExJTkUgT0YgQ1JFRElUIEFORCBMT05HLVRFUk0gREVCVCAoRGV0YWlscyBOYXJyYXRpdmUpAA__"><ix:nonFraction name="us-gaap:FinanceLeaseLiability" contextRef="AsOf2023-12-31" id="Fact000738" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">70,981</ix:nonFraction></span>
                                                                                                                                                at June 30, 2024 and December 31, 2023, respectively, including a current portion of $<span id="xdx_90E_eus-gaap--FinanceLeaseLiabilityCurrent_iI_pp0p0_c20240630_zd4i79FcFubf" title="Financing leases current" class="xdx_phnt_RGlzY2xvc3VyZSAtIExJTkUgT0YgQ1JFRElUIEFORCBMT05HLVRFUk0gREVCVCAoRGV0YWlscyBOYXJyYXRpdmUpAA__"><ix:nonFraction name="us-gaap:FinanceLeaseLiabilityCurrent" contextRef="AsOf2024-06-30" id="Fact000740" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">30,663</ix:nonFraction></span>
                                                                                                                                                and $<span id="xdx_90C_eus-gaap--FinanceLeaseLiabilityCurrent_iI_pp0p0_c20231231_zTbO7B6C4L2d" title="Financing leases current" class="xdx_phnt_RGlzY2xvc3VyZSAtIExJTkUgT0YgQ1JFRElUIEFORCBMT05HLVRFUk0gREVCVCAoRGV0YWlscyBOYXJyYXRpdmUpAA__"><ix:nonFraction name="us-gaap:FinanceLeaseLiabilityCurrent" contextRef="AsOf2023-12-31" id="Fact000742" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">44,498</ix:nonFraction></span>,
                                                                                                                                                respectively. <span id="xdx_8BD_zEbzemVZogLh">The maturities of the June 30, 2024 balance of these financing leases are as
                                                                                                                                                follows:</span></span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 50%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>For
    the Year Ending December 31,</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="3" id="xdx_499_20240630_zWNlcug8SMI9"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_403_eus-gaap--FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maLTDzhnE_maFLLPDzf0O_zPjuEVmkAUKj" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; width: 73%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Remainder
    of 2024</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 24%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" contextRef="AsOf2024-06-30" id="Fact000744" format="ixt:numdotdecimal" decimals="0" unitRef="USD">15,001</ix:nonFraction></span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_40E_eus-gaap--FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLTDzhnE_maFLLPDzf0O_z0YzqUIdnn1b" style="background-color: White">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2025</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" contextRef="AsOf2024-06-30" id="Fact000746" format="ixt:numdotdecimal" decimals="0" unitRef="USD">26,483</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_403_eus-gaap--FinanceLeaseLiabilityPaymentsDue_iTI_mtFLLPDzf0O_zrfXNtzrb3Q4" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:FinanceLeaseLiabilityPaymentsDue" contextRef="AsOf2024-06-30" id="Fact000748" format="ixt:numdotdecimal" decimals="0" unitRef="USD">41,484</ix:nonFraction></span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
</table>
</ix:nonNumeric><p id="xdx_8A5_z4o6Tr8L5vGd" style="margin-top: 0; margin-bottom: 0">&#160;</p>

</ix:continuation><p id="xdx_813_z0UNtVWljyQ9" style="margin-top: 0; margin-bottom: 0">&#160;</p>

<p style="margin-top: 0; margin-bottom: 0"></p>

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

<p style="margin-top: 0; margin-bottom: 0">&#160;</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 id="xdx_80D_eus-gaap--ConcentrationRiskDisclosureTextBlock_zV2lnu70BxJ2" style="width: 48px"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" continuedAt="Con000750-01" escape="true" id="Fact000750" name="us-gaap:ConcentrationRiskDisclosureTextBlock"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>8.</b></span></ix:nonNumeric></td>
    <td style="text-align: justify"><ix:continuation continuedAt="Con000750-02" id="Con000750-01"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b><span id="xdx_820_zyceMFCDzvA4">MAJOR
    CUSTOMERS AND VENDORS</span></b></span></ix:continuation></td></tr>
</table>
<ix:continuation id="Con000750-02"><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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the six months ended June 30, 2024, our four largest customers accounted for <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zuZESyeSCz0l" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2024-01-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember" id="Fact000752" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">32</ix:nonFraction></span>%, <span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zVU8kNAkQnJk" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2024-01-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember" id="Fact000754" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">25</ix:nonFraction></span>%, <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zj7nzHoirSa" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2024-01-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember" id="Fact000756" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">13</ix:nonFraction></span>%, and <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFourMember_zNyWVp8Pg6Uh" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2024-01-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFourMember" id="Fact000758" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">12</ix:nonFraction></span>% of revenue. During the six
months ended June 30, 2023, our two largest customers accounted for <span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zZkhbGHPRlB5" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember" id="Fact000760" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">32</ix:nonFraction></span>% and <span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zNjAGFIxuWZ9" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember" id="Fact000762" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">29</ix:nonFraction></span>% of revenue. During the three months ended June
30, 2024, our four largest customers accounted for <span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240401__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zi7MHhewbHX4" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2024-04-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember" id="Fact000764" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">36</ix:nonFraction></span>%, <span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240401__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zI6bmTlXz9q7" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2024-04-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember" id="Fact000766" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">25</ix:nonFraction></span>%, <span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240401__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zLTdJO4xxnBc" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2024-04-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember" id="Fact000768" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">13</ix:nonFraction></span>%, and <span id="xdx_90F_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240401__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFourMember_zs10ayjjWSDg" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2024-04-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFourMember" id="Fact000770" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">12</ix:nonFraction></span>% of revenue. During the three months ended June 30, 2023,
our three largest customers accounted for <span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230401__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_z5cKU4o1rsIa" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-04-012023-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember" id="Fact000772" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">29</ix:nonFraction></span>%, <span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230401__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zCEOHSYwir0d" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-04-012023-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember" id="Fact000774" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">27</ix:nonFraction></span>%, and <span id="xdx_906_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230401__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_z9nDc9wn1L45" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-04-012023-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember" id="Fact000776" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">12</ix:nonFraction></span>% of revenue.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">At
June 30, 2024, <span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zhe3468cptea" title="Concentration Risk, Percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2024-01-012024-06-30_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember" id="Fact000778" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">19</ix:nonFraction></span>%, <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zOwT4AbD5069" title="Concentration Risk, Percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2024-01-012024-06-30_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember" id="Fact000780" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">18</ix:nonFraction></span>%, <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zIRPgNSN3Tmb" title="Concentration Risk, Percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2024-01-012024-06-30_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember" id="Fact000782" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">15</ix:nonFraction></span>%, and <span id="xdx_907_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFourMember_zZw9guLf4sYf" title="Concentration Risk, Percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2024-01-012024-06-30_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFourMember" id="Fact000784" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">14</ix:nonFraction></span>% of our accounts receivable were from four of our largest customers. At December 31, 2023,
<span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zW9q9gg0tv8l" title="Concentration Risk, Percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-12-31_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember" id="Fact000786" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">30</ix:nonFraction></span>%, <span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_z9Tkm3GxwFK8" title="Concentration Risk, Percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-12-31_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember" id="Fact000788" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">17</ix:nonFraction></span>%, <span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zyrYZk76nYga" title="Concentration Risk, Percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-12-31_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember" id="Fact000790" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">12</ix:nonFraction></span>%, and <span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFourMember_z5dAgOubP2Xi" title="Concentration Risk, Percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-12-31_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFourMember" id="Fact000792" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">11</ix:nonFraction></span>% of accounts receivable were due from our four largest customers.&#160;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">At
June 30, 2024, <span id="xdx_905_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zReRfPSBXI36"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2024-01-012024-06-30_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember" id="Fact000793" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">26</ix:nonFraction></span>%, <span id="xdx_90C_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zq3AhrgBz4Nc"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2024-01-012024-06-30_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember" id="Fact000794" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">25</ix:nonFraction></span>% and <span id="xdx_90B_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zghrkL6BYa9a"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2024-01-012024-06-30_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember" id="Fact000795" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">22</ix:nonFraction></span>% of our contract assets were from three of our largest customers. At December 31, 2023, <span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zEzzyAvsKIce"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-12-31_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember" id="Fact000796" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">26</ix:nonFraction></span>%, <span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zDR7DPJ3f5u9"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-12-31_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember" id="Fact000797" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">23</ix:nonFraction></span>%,
<span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zb3xKAGdi969"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-12-31_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember" id="Fact000798" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">18</ix:nonFraction></span>%, and <span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFourMember_zsJ2qasi1fI8"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-12-31_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFourMember" id="Fact000799" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">15</ix:nonFraction></span>% of our contract assets were related to our four largest customers.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">At
June 30, 2024, <span id="xdx_90C_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsPayableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--VendorOneMember_zHPYSfoQTv0d" title="Concentration Risk, Percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2024-01-012024-06-30_us-gaap_AccountsPayableMember_us-gaap_CustomerConcentrationRiskMember_custom_VendorOneMember" id="Fact000801" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">11</ix:nonFraction></span>% of our accounts payable was from one of our largest vendors.</span></p>

</ix:continuation><p id="xdx_817_zW7FBAQTYOSc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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 id="xdx_80F_eus-gaap--LesseeOperatingLeasesTextBlock_zVfdFLj58SZ7" style="width: 48px"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" continuedAt="Con000803-01" escape="true" id="Fact000803" name="us-gaap:LesseeOperatingLeasesTextBlock"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<b>9.</b></span></ix:nonNumeric></td>
    <td style="text-align: justify"><ix:continuation continuedAt="Con000803-02" id="Con000803-01"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b><span id="xdx_825_zVTnTqw0XHQ7">LEASES</span></b></span></ix:continuation></td></tr>
</table>
<ix:continuation id="Con000803-02"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company leases manufacturing and office space under an agreement classified as an operating lease. On November 10, 2021, the Company
executed the second amendment to the lease agreement for its manufacturing and office space, which extends the lease agreement&#8217;s
expiration date to <span id="xdx_90F_eus-gaap--LeaseExpirationDate1_c20240101__20240630_zIVX0aE1hT3c" title="Expiration date"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" format="ixt:datemonthdayyearen" id="Fact000805" name="us-gaap:LeaseExpirationDate1">April 30, 2026</ix:nonNumeric></span>. The lease agreement does not include any renewal options. The agreement provides for an initial
monthly base amount plus annual escalations through the term of the lease. In addition to the monthly base amounts in the lease
agreement, the Company is required to pay real estate taxes and operating expenses during the lease terms.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company also leases office equipment in agreements classified as operating leases.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
the six months ended June 30, 2024 and 2023, the Company&#8217;s operating lease expense was $<span id="xdx_90D_eus-gaap--OperatingLeaseCost_c20240101__20240630_zKOjJFDio1Eg" title="Operating lease expense"><ix:nonFraction name="us-gaap:OperatingLeaseCost" contextRef="From2024-01-01to2024-06-30" id="Fact000807" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,059,249</ix:nonFraction></span> and $<span id="xdx_90B_eus-gaap--OperatingLeaseCost_c20230101__20230630_z1o6EFPv4kV9" title="Operating lease expense"><ix:nonFraction name="us-gaap:OperatingLeaseCost" contextRef="From2023-01-012023-06-30" id="Fact000809" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,084,968</ix:nonFraction></span>, respectively.
For the three months ended June 30, 2024 and 2023, the Company&#8217;s operating lease expense was $<span id="xdx_90F_eus-gaap--OperatingLeaseCost_c20240401__20240630_zaXC5BUIUjq6" title="Operating lease expense"><ix:nonFraction name="us-gaap:OperatingLeaseCost" contextRef="From2024-04-012024-06-30" id="Fact000811" format="ixt:numdotdecimal" decimals="0" unitRef="USD">529,624</ix:nonFraction></span> and $<span id="xdx_90C_eus-gaap--OperatingLeaseCost_c20230401__20230630_zqdLYkVly1i3" title="Operating lease expense"><ix:nonFraction name="us-gaap:OperatingLeaseCost" contextRef="From2023-04-012023-06-30" id="Fact000813" format="ixt:numdotdecimal" decimals="0" unitRef="USD">550,942</ix:nonFraction></span>, respectively.</span></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-06-30" escape="true" id="Fact000815" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock"><p id="xdx_896_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_zH5fpW7w2TSd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Future
minimum lease payments under non-cancellable operating leases as of June 30, 2024 were as follows:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td style="font-weight: bold; text-align: left">For the Year Ending December 31,</td><td style="font-weight: bold">&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_49B_20240630_zms6xyLOffNg" style="text-align: justify">&#160;</td><td>&#160;</td></tr>
<tr id="xdx_404_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maOLFMPzv5G_maLOLLPzLvy_z1IKZkZ12Znk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 82%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Remainder of 2024</span></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: 14%; text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" contextRef="AsOf2024-06-30" id="Fact000817" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,122,283</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr id="xdx_406_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maOLFMPzv5G_maLOLLPzLvy_zUR11loyEXql" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2025</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" contextRef="AsOf2024-06-30" id="Fact000819" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,283,354</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maOLFMPzv5G_maLOLLPzLvy_zdHnid7PPmDe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2026</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" contextRef="AsOf2024-06-30" id="Fact000821" format="ixt:numdotdecimal" decimals="0" unitRef="USD">850,276</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_maOLFMPzv5G_maLOLLPzLvy_zhFFLhytgYa4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2027</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" contextRef="AsOf2024-06-30" id="Fact000823" format="ixt:numdotdecimal" decimals="0" unitRef="USD">111,065</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_400_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFour_iI_maOLFMPzv5G_maLOLLPzLvy_zdXmSiewEe1k" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2028</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" contextRef="AsOf2024-06-30" id="Fact000825" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,228</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
<tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPzLvy_zr5pbhm3Sfk5" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total undiscounted operating lease payments</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" contextRef="AsOf2024-06-30" id="Fact000827" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,376,206</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_402_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zoHir3X3mY7e" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Less imputed interest </span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" contextRef="AsOf2024-06-30" id="Fact000829" format="ixt:numdotdecimal" decimals="0" unitRef="USD">255,118</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
<tr id="xdx_408_eus-gaap--OperatingLeaseLiability_iI_zCAGGud5BAla" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Present value of operating lease payments</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2024-06-30" id="Fact000831" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,121,088</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
</table>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-06-30" escape="true" id="Fact000833" name="cvu:LesseeOperatingLeasesTableTextBlock"><p id="xdx_899_ecustom--LesseeOperatingLeasesTableTextBlock_zYGEi7K7jPn7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table sets forth the right-of-use assets and operating lease liabilities as of:&#160;</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_490_20240630_zMUi29o8Cth2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20231231_zaJ7ikOUZwaa" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31, <br/> 2023</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr id="xdx_409_eus-gaap--AssetsAbstract_iB_zIsU4Mbwes9i" style="vertical-align: bottom">
    <td style="font-weight: bold; text-align: justify">Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_409_eus-gaap--OperatingLeaseRightOfUseAsset_i01I_z11FRiRSNGva" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; text-align: justify; padding-bottom: 2.5pt">Right-of-use assets, net</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2024-06-30" id="Fact000838" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,808,903</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2023-12-31" id="Fact000839" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,740,193</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40E_eus-gaap--LiabilitiesAbstract_iB_zZj97qVvcnS7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: justify">Liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_402_eus-gaap--OperatingLeaseLiabilityCurrent_i01I_maOLLzT6D_maOLLzzJK_zivftNYJIyv2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Current operating lease liabilities</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2024-06-30" id="Fact000844" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,076,851</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2023-12-31" id="Fact000845" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,999,058</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_408_eus-gaap--OperatingLeaseLiabilityNoncurrent_i01I_maOLLzT6D_maOLLzzJK_z6VbjSUm6ita" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1pt">Long-term operating lease 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"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2024-06-30" id="Fact000847" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,044,237</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2023-12-31" id="Fact000848" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,100,571</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
<tr id="xdx_404_eus-gaap--OperatingLeaseLiability_i01TI_mtOLLzT6D_mtOLLzzJK_z7mGDvYhh0Bj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 2.5pt; padding-left: 0.125in">Total lease liabilities</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 name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2024-06-30" id="Fact000850" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,121,088</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2023-12-31" id="Fact000851" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,099,629</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
</table>

</ix:nonNumeric><p id="xdx_8AA_z1zoFVonymu6" 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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s weighted average remaining lease term for its operating leases is <span id="xdx_90A_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20240630_z1buwVjTWZj7" title="Weighted average remaining lease term operating leases"><ix:nonNumeric contextRef="AsOf2024-06-30" format="ixt-sec:duryear" id="Fact000853" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1">2</ix:nonNumeric></span> years as of June 30, 2024. The Company&#8217;s
weighted average discount rate for its operating leases is <span id="xdx_903_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_pid_dp_uPure_c20240630_zHv9A07as9M4" title="Weighted average discount rate for its operating leases"><ix:nonFraction name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" contextRef="AsOf2024-06-30" id="Fact000855" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">5.48</ix:nonFraction></span>% as of June 30, 2024.</span></p>

</ix:continuation><p id="xdx_81D_zts6dSq45sYa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: 10pt Times New Roman, Times, Serif">&#160;</span></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 id="xdx_806_eus-gaap--IncomeTaxDisclosureTextBlock_zPNd6GgNvck5" style="width: 48px"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" continuedAt="Con000857-01" escape="true" id="Fact000857" name="us-gaap:IncomeTaxDisclosureTextBlock"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>10.</b></span></ix:nonNumeric></td>
    <td style="text-align: justify"><ix:continuation continuedAt="Con000857-02" id="Con000857-01"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b><span id="xdx_82A_zb6D2cJcQ7r4">INCOME
    TAXES</span></b></span></ix:continuation></td></tr>
</table>
<ix:continuation id="Con000857-02"><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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income
taxes are accounted for under the asset and liability method whereby deferred tax assets and liabilities are recognized for future
tax consequences attributable to the temporary differences between the consolidated financial statements carrying amounts of assets
and liabilities and their respective tax bases and operating loss and tax credit carryforwards. Deferred tax assets and liabilities
are measured using enacted tax rates expected to apply in the years in which those temporary differences are expected to be recovered
or settled. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in the period that includes
the enactment date. Deferred tax assets are reduced by a valuation allowance when, in the opinion of management, it is more likely
than not that some portion or all of the deferred tax assets will not be realized. The Company&#8217;s policy is to record estimated
interest and penalties related to uncertain tax positions in income tax expense.&#160;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
provision for income tax for the three months ended June 30, 2024 and 2023 was $<span id="xdx_90A_eus-gaap--IncomeTaxExpenseBenefit_c20240401__20240630_zLZOOol09Cdb" title="Provision for income taxes"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2024-04-012024-06-30" id="Fact000859" format="ixt:numdotdecimal" decimals="0" unitRef="USD">341,572</ix:nonFraction></span> and $<span id="xdx_90E_eus-gaap--IncomeTaxExpenseBenefit_c20230401__20230630_zRDmvxwaOk86" title="Provision for income taxes"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-04-012023-06-30" id="Fact000861" format="ixt:numdotdecimal" decimals="0" unitRef="USD">98,789</ix:nonFraction></span>, respectively. The provision
for income tax for the six months ended June 30, 2024 and 2023 was $<span id="xdx_90A_eus-gaap--IncomeTaxExpenseBenefit_c20240101__20240630_zjcAIrf6dwyc" title="Provision for income taxes"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2024-01-01to2024-06-30" id="Fact000863" format="ixt:numdotdecimal" decimals="0" unitRef="USD">381,044</ix:nonFraction></span> and $<span id="xdx_90F_eus-gaap--IncomeTaxExpenseBenefit_c20230101__20230630_zOwZwN4biht3" title="Provision for income taxes"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-01-012023-06-30" id="Fact000865" format="ixt:numdotdecimal" decimals="0" unitRef="USD">298,046</ix:nonFraction></span>, respectively. The increase in the year-over-year
provision for income tax is the result of the partial release of approximately $<span id="xdx_901_eus-gaap--ValuationAllowanceDeferredTaxAssetChangeInAmount_iN_di_c20230401__20230630_zIhdF7NQxxS2" title="Valuation allowance released"><ix:nonFraction name="us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount" contextRef="From2023-04-012023-06-30" id="Fact000867" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">121,000</ix:nonFraction></span> of the Company&#8217;s valuation allowance
on its deferred tax asset recorded during the three months ending June 30, 2023.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
effective income tax rate for the six months ended June 30, 2024 is <span id="xdx_902_eus-gaap--EffectiveIncomeTaxRateContinuingOperations_pid_dp_uPure_c20240101__20240630_zOLOxl3J12H1" title="Effective income tax rate"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" contextRef="From2024-01-01to2024-06-30" id="Fact000869" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">19.4</ix:nonFraction></span>%. The difference between the effective income tax rate
for the six months ended June 30, 2024 and the statutory income tax rate of <span id="xdx_90C_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_c20240101__20240630_zJ5k4Xw7oyLe" title="Statutory income tax rate"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="From2024-01-01to2024-06-30" id="Fact000871" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">21.0</ix:nonFraction></span>% for the six months ended June 30, 2024 is due
primarily to the estimated R&amp;D credit, state income taxes and permanent tax differences. The effective income tax rate for
the six months ended June 30, 2023 was <span id="xdx_906_eus-gaap--EffectiveIncomeTaxRateContinuingOperations_pid_dp_uPure_c20230101__20230630_zXOUk7PQwR1a" title="Effective income tax rate"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" contextRef="From2023-01-012023-06-30" id="Fact000873" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">12.2</ix:nonFraction></span>%. The difference between the effective income tax rate for the six months ended June
30, 2023 and the statutory income tax rate of <span id="xdx_909_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_c20230101__20230630_z7eUPD1mD99a" title="Statutory income tax rate"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="From2023-01-012023-06-30" id="Fact000875" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">21</ix:nonFraction></span>% for the six months ended June 30, 2023 was due to the estimated R&amp;D credit,
the partial release of approximately $<span id="xdx_906_eus-gaap--ValuationAllowanceDeferredTaxAssetChangeInAmount_iN_di_c20230401__20230630_zcPIUlOjfpy9" title="Valuation allowance released"><ix:nonFraction name="us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount" contextRef="From2023-04-012023-06-30" id="Fact000877" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">121,000</ix:nonFraction></span> of the Company&#8217;s valuation allowance on its deferred tax asset recorded during
the three months ending June 30, 2023, state income taxes and permanent tax differences.</span></p>

</ix:continuation><p id="xdx_81B_zWBT1maIKc8d" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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 id="xdx_80A_eus-gaap--CommitmentsAndContingenciesDisclosureTextBlock_zdetAz8YdHcl" style="width: 48px"><ix:nonNumeric contextRef="From2024-01-01to2024-06-30" continuedAt="Con000879-01" escape="true" id="Fact000879" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>11.</b></span></ix:nonNumeric></td>
    <td style="text-align: justify"><ix:continuation continuedAt="Con000879-02" id="Con000879-01"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_822_zaDpS6P9QKzc">COMMITMENTS AND
    CONTINGENCIES</span></b></span></ix:continuation></td></tr>
</table>
<ix:continuation id="Con000879-02"><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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">The
Company may be involved in various claims, suits, assessments, investigations, and legal proceedings that arise from time to time
in the ordinary course of its business. The Company accrues a liability when it is both probable a liability has been incurred
and the amount of the loss can be reasonably estimated. The Company reviews these accruals at least quarterly and adjusts them
to reflect ongoing negotiations, settlements, rulings, advice of legal counsel, and other relevant information. To the extent
new information is obtained and the Company&#8217;s views on the probable outcomes of claims, suits, assessments, investigations,
or legal proceedings change, changes in the Company&#8217;s accrued liabilities would be recorded in the period such determination
is made. For some matters, the amount of liability is not probable or the amount cannot be reasonably estimated and, therefore,
accruals have not been made. </span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">The
Company reached a settlement with the SEC on June 20, 2024 related to the Company&#8217;s previously announced and filed restatements
of certain of its financial statements for fiscal periods between January 1, 2018 and December 31, 2022. Under the terms of this
settlement, if the Company fails to comply with various undertakings, a civil monetary penalty in the amount of $<span id="xdx_90C_eus-gaap--LitigationSettlementAmountAwardedToOtherParty_c20240601__20240620_zaRCaN4feQX1" title="Settlement amount"><ix:nonFraction name="us-gaap:LitigationSettlementAmountAwardedToOtherParty" contextRef="From2024-06-012024-06-20" id="Fact000881" format="ixt:numdotdecimal" decimals="0" unitRef="USD">400,000</ix:nonFraction></span> will
be due to the SEC by June 30, 2025 (the &#8220;Undertakings&#8221;). The Undertakings are as follows:</span> <span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)
the Company shall fully remediate its outstanding material weaknesses in Internal Controls over Financial Reporting (&#8220;ICFR&#8221;)
and have effective ICFR and disclosure controls and procedures (&#8220;DCP&#8221;) by December 31, 2024; (b) the Company shall
publicly disclose, concurrent with the filing of the 2024 Form 10-K, whether in management&#8217;s opinion, the Company has fully
remediated its material weaknesses in ICFR and has effective ICFR and DCP; and (c) the Company shall certify, in writing, compliance
with the undertaking(s) set forth above. The certification shall be made by the Company&#8217;s CEO and identify the undertaking(s),
provide written evidence of compliance in the form of a narrative, and be supported by exhibits sufficient to demonstrate compliance. The certification and supporting material shall be submitted to the SEC no later than sixty (60) days from the date of the completion
of the undertakings.</span></p>

</ix:continuation><p id="xdx_812_zMNaOpPh3lK5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="cpi10qa008"></span>Item
2 &#8211; Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</b>&#160;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following discussion should be read in conjunction with the Company&#8217;s consolidated financial statements and notes thereto
contained in this report.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Forward
Looking Statements</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">When
used in this Form 10-Q and in future filings by us with the Securities and Exchange Commission (the &#8220;SEC&#8221;), the words
or phrases &#8220;will likely result,&#8221; &#8220;management expects&#8221; or &#8220;we expect,&#8221; &#8220;will continue,&#8221;
&#8220;is anticipated,&#8221; &#8220;estimated&#8221; or similar expressions are intended to identify &#8220;forward-looking statements&#8221;
within the meaning of the Private Securities Litigation Reform Act of 1995. Readers are cautioned not to place undue reliance
on any such forward-looking statements, each of which speaks only as of the date made. Such statements are subject to certain
risks and uncertainties that could cause actual results to differ materially from historical earnings and those presently anticipated
or projected. The risks are included in Part I, Item 1A &#8211; Risk Factors of our Annual Report on Form 10-K for the year ended
December 31, 2023 (the &#8220;Form 10-K&#8221;). We have no obligation to publicly release the result of any revisions which may
be made to any forward-looking statements to reflect anticipated or unanticipated events or circumstances occurring after the
date of such statements.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Business
Operations</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
are engaged in the contract production of structural aircraft parts for fixed wing aircraft and helicopters in both the commercial
and defense markets. We also have a strong and growing presence in the aerosystems sector of the market, with our production of
various reconnaissance pod structures and fuel panel systems. Within the global aerostructure and aerosystem supply chain, we
are either a Tier 1 supplier to aircraft original equipment manufacturers (&#8220;OEMs&#8221;) or a Tier 2 subcontractor to major
Tier 1 manufacturers. We also are a prime contractor to the United States Department of Defense (&#8220;DOD&#8221;), primarily
the United States Air Force (&#8220;USAF&#8221;). In conjunction with our assembly operations, we provide engineering, program
management, supply chain management and kitting, and maintenance, repair and overhaul (&#8220;MRO&#8221;) services.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Recent
Developments</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Backlog</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
produce custom assemblies pursuant to long-term contracts and customer purchase orders. Funded backlog consists of aggregate funded
values under such contracts and purchase orders, excluding the portion previously included in operating revenues pursuant to Accounting
Standards Codification Topic 606 (&#8220;ASC 606&#8221;). Unfunded backlog is the estimated amount of future orders under the
expected duration of the programs. Substantially all of our backlog is subject to termination at will and rescheduling, without
significant penalty. Funds are often appropriated for programs or contracts on a yearly or quarterly basis, even though the contract
may call for performance that is expected to take a number of years. Therefore, our funded backlog does not include the full value
of our contracts.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
total backlog as of June 30, 2024 and December 31, 2023 is shown below. We are currently in customer negotiations which, when
concluded, will result in an estimated amount of approximately $32 million of the June 30, 2024 Unfunded Backlog converting to
Funded Backlog.</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 50%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td style="border-bottom: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Backlog</b><br/>
    <b>(Total)</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June
    30, </b><br/>
    <b>2024</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>December
    31,</b><br/>
    <b>2023</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; width: 24%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Funded</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 10%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">87,049,000</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 10%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">118,218,000</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr style="background-color: White">
    <td style="vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Unfunded</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">424,703,000</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">395,133,000</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">511,752,000</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">513,351,000</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Approximately
96% of the total amount of our backlog at June 30, 2024 was attributable to government and military contractor contracts. Our
backlog attributable to government contracts at June 30, 2024 and December 31, 2023 was as follows:</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 60%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td style="border-bottom: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Backlog
    </b><br/>
    <b>(Government)</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June
    30, </b><br/>
    <b>2024</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>December
    31,</b><br/>
    <b>2023</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; width: 24%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Funded</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 15%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">83,957,000</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 15%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">115,681,000</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr style="background-color: White">
    <td style="vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Unfunded</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">408,503,000</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">383,574,000</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">492,460,000</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">499,255,000</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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">&#160;</p>

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

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

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



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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
backlog attributable to commercial contracts at June 30, 2024 and December 31, 2023 was as follows:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 60%">
<tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1pt solid; text-align: center"><b>Backlog</b><br/> <b>(Commercial)</b></td><td><b>&#160;</b></td>
    <td style="border-bottom: Black 1pt solid; text-align: left"><b>&#160;</b></td><td style="border-bottom: Black 1pt solid; text-align: center"><b>June
                                         30, </b><br/> <b>2024</b></td><td style="text-align: left"><b>&#160;</b></td><td><b>&#160;</b></td>
    <td style="border-bottom: Black 1pt solid; text-align: left"><b>&#160;</b></td><td style="border-bottom: Black 1pt solid; text-align: center"><b>December
                                         31,</b><br/> <b>2023</b></td><td style="text-align: left"><b>&#160;</b></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 24%; text-align: center">Funded</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 15%; text-align: right">3,092,000</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: 15%; text-align: right">2,537,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: center; padding-bottom: 1pt">Unfunded</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,200,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">11,559,000</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: center; padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">19,292,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">14,096,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
</table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
total backlog at June 30, 2024 is primarily comprised of long-term programs with Raytheon (Next Generation Jammer (&#8220;NGJ&#8221;)
&#8211; Mid Band Pods and Advanced Tactical Pods), Lockheed Martin (F-16 RI/DCC&#8217;s), Raytheon (B-52 Radar Racks), USAF
(T-38 Classic Structural Modification Kits), Raytheon (Airborne Reconnaissance Pods) and Embraer (Phenom 300 Engine Inlets).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
funded backlog at June 30, 2024 is primarily from purchase orders under long-term contracts with Raytheon (NGJ &#8211; Mid Band
Pods and Advanced Tactical Pods), USAF (T-38 Classic Structural Modification Kits), Sikorsky (CH-53K Welded Tubes), Sikorsky (UH-60
BLACKHAWK Gunner Windows), Raytheon (Airborne Reconnaissance Pods), Boeing (A-10 Main Landing Gear Pods), Lockheed Martin
(F-16 RI/DCC&#8217;s), and Embraer (Phenom 300 Engine Inlets).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Critical
Accounting Estimates</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
make a number of significant estimates, assumptions and judgments in the preparation of our financial statements. See <i>Management&#8217;s
Discussion and Analysis of Financial Condition and Results of Operations</i> in the Form 10-K, for a discussion of our critical
accounting estimates. There have been no significant changes to the application of our critical accounting estimates during the
quarter ended June 30, 2024.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Revenue</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total
Revenue for the three months ended June 30, 2024 was $20,810,334 compared to $20,547,555 for the same period last year, an increase
of $262,779 or 1.3%, driven primarily by increases in our Raytheon NGJ &#8211; Mid Band Pods, Raytheon Airborne Reconnaissance
Pods and Sikorsky Welded Tubes programs, partly offset by decreases in our Northrop Grumman E-2D Advanced Hawkeye Outer Wing Panels
(&#8220;OWP&#8221;) and our Sikorsky UH-60 BLACKHAWK Hover Infrared Suppression System (&#8220;HIRSS&#8221;) Module Assemblies
programs.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total
Revenue for the six months ended June 30, 2024 was $39,891,477 compared to $42,564,223 for the same period last year, a decrease
of $2,672,746 or 6.3%, driven primarily by decreases in our Sikorsky UH-60 BLACKHAWK Hover Infrared Suppression System (&#8220;HIRSS&#8221;)
Module Assemblies, Northrop Grumman E-2D Advanced Hawkeye Outer Wing Panels (&#8220;OWP&#8221;) and Sikorsky UH-60 BLACKHAWK Stabilator
MRO programs, partly offset by increases in our Raytheon Airborne Reconnaissance Pods, Sikorsky Welded Tubes and USAF
T-38 Pacer Classic Structural Modification Kits programs.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Revenue
from military subcontracts was $16,963,874 for the three months ended June 30, 2024 compared to $16,502,026 for the three months
ended June 30, 2023, an increase of $461,848 or 2.8%, driven primarily by increases in our Raytheon NGJ &#8211; Mid Band Pods,
Raytheon Airborne Reconnaissance Pods and Sikorsky Welded Tubes programs, partly offset by decreases in our Northrop
Grumman E-2D Advanced Hawkeye Outer Wing Panels (&#8220;OWP&#8221;) and our Sikorsky UH-60 BLACKHAWK Hover Infrared Suppression
System (&#8220;HIRSS&#8221;) Module Assemblies programs.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Revenue
from military subcontracts was $31,965,642 for the six months ended June 30, 2024 compared to $35,174,919 for the six months ended
June 30, 2023, a decrease of $3,209,277 or 9.12%, driven primarily by decreases in our Sikorsky UH-60 BLACKHAWK Hover Infrared
Suppression System (&#8220;HIRSS&#8221;) Module Assemblies, Northrop Grumman E-2D Advanced Hawkeye Outer Wing Panels (&#8220;OWP&#8221;)
and Sikorsky UH-60 BLACKHAWK Stabilator MRO programs, partly offset by increases in our Raytheon Airborne Reconnaissance
Pods, Sikorsky Welded Tubes and USAF T-38 Pacer Classic Structural Modification Kits programs.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Revenue
from government military contracts was $2,601,347 for the three months ended June 30, 2024 compared to $2,710,925 for the three
months ended June 30, 2023, a decrease of $109,578 or 4.0%, driven primarily by a decrease in our DLA F-16 Wing Skins program,
partly offset by an increase in our USAF T-38 Pacer Classic Structural Modification Kits program.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Revenue
from government military contracts was $5,383,228 for the six months ended June 30, 2024 compared to $4,118,959 for the six months
ended June 30, 2023, an increase of $1,264,269 or 30.7%, driven primarily by an increase in our USAF T-38 Pacer Classic Structural
Modification Kits program, partly offset by a decrease in our DLA F-16 Wing Skins program.</span></p>

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Revenue
from commercial subcontracts was $1,245,113 for the three months ended June 30, 2024 compared to $1,334,604 for the three months
ended June 30, 2023, a decrease of $89,491 or 6.7%, primarily on a decrease in our Embraer Phenom Engine Inlet Assemblies program.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Revenue
from commercial subcontracts was $2,542,607 for the six months ended June 30, 2024 compared to $3,270,345 for the six months ended
June 30, 2023, a decrease of $727,738 or 22.3%, primarily on a decrease in our Embraer Phenom Engine Inlet Assemblies program.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Cost
of Sales</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total
Cost of Sales for the three months ended June 30, 2024 and 2023 was $15,694,910 and $15,943,555, respectively, a decrease of $248,645
or 1.6%.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total
Cost of Sales for the six months ended June 30, 2024 and 2023 was $31,222,304 and $33,297,707, respectively, a decrease of $2,075,403
or 6.2%.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
components of the cost of sales were as follows:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td><b>&#160;</b></td><td><b>&#160;</b></td>
    <td colspan="5" style="border-bottom: Black 1pt solid; text-align: center"><b>Three months ended</b></td><td><b>&#160;</b></td>
    <td colspan="5" style="border-bottom: Black 1pt solid; text-align: center"><b>Six months ended</b></td><td style="text-align: left"><b>&#160;</b></td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center; padding-bottom: 1pt"><b>&#160;</b></td><td style="text-align: center; padding-bottom: 1pt"><b>&#160;</b></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><b>June 30,</b><br/> <b>2024</b></td><td style="text-align: center; padding-bottom: 1pt"><b>&#160;</b></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><b>June 30,</b><br/> <b>2023</b></td><td style="text-align: center; padding-bottom: 1pt"><b>&#160;</b></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><b>June 30,</b><br/> <b>2024</b></td><td style="text-align: center; padding-bottom: 1pt"><b>&#160;</b></td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><b>June 30,</b><br/> <b>2023</b></td><td style="text-align: center; padding-bottom: 1pt"><b>&#160;</b></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 51%">Procurement</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">10,118,041</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">9,470,763</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">19,483,061</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">20,958,854</td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td>Labor</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,800,940</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,867,283</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,598,730</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,722,146</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">Factory overhead</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,770,396</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,266,566</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,037,491</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,046,445</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Other 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">5,533</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">338,942</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">103,022</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">570,262</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; padding-bottom: 2.5pt">Cost of sales</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right">15,694,910</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right">15,943,555</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right">31,222,304</td><td style="font-weight: bold; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-weight: bold; text-align: right">33,297,707</td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
</table>

<p style="margin-top: 0; margin-bottom: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Procurement
for the three months ended June 30, 2024 was $10,118,041 compared to $9,470,763 for the three months ended June 30, 2023, an increase
of $647,278 or 6.8%, driven primarily by higher procurement for our Raytheon NGJ &#8211; Mid Band Pods program.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Procurement
for the six months ended June 30, 2024 was $19,483,061 compared to $20,958,854 for the six months ended June 30, 2023, a decrease
of $1,475,793 or 7.0%, driven primarily by lower procurement for our Sikorsky UH-60 BLACKHAWK Hover Infrared Suppression System
(&#8220;HIRSS&#8221;) Module Assemblies program.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Labor
costs for the three months ended June 30, 2024 were $1,800,940 compared to $1,867,283 for the three months ended June 30, 2023,
a decrease of $66,343 or 3.6%.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Labor
costs for the six months ended June 30, 2024 were $3,598,730 compared to $3,722,146 for the six months ended June 30, 2023, a
decrease of $123,416 or 3.3%.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Factory
overhead for the three months ended June 30, 2024 was $3,770,396 compared to $4,266,566 for the three months ended June 30, 2023,
a decrease of $496,170 or 11.6%. The decrease was primarily the result of lower employee insurance costs.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Factory
overhead for the six months ended June 30, 2024 was $8,037,491 compared to $8,046,445 for the six months ended June 30, 2023,
a decrease of $8,594 or 0.1%.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font: 10pt Times New Roman, Times, Serif">Other
cost of sales relates to items that can increase or decrease cost of sales such as changes in inventory reserves, changes in loss
contract provisions, absorption variances and direct charges to cost of sales. Other cost of sales for the three months ended
June 30, 2024 was $5,533 compared to a $338,943 for the three months ended June 30, 2023, a decrease of $333,410 or 98.4%. The
decrease is primarily the result of a lower level of direct charges to cost of sales during the three months ended June 30, 2024
as compared to the three months ended June 30, 2023.</span></p>

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


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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
cost of sales for the six months ended June 30, 2024 was $103,022 compared to $570,262 for the six months ended June 30, 2023,
a decrease in cost of $467,240 or 81.9%. The decrease is primarily the result of a lower level of <span style="color: Black">direct
charges to cost of sales during the six months ended June 30, 2024 as compared to the six months ended June 30, 2023.</span></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Gross
Profit</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Gross
profit and gross profit percentage (&#8220;gross margin&#8221;) for the three months ended June 30, 2024 was $5,115,424 and 24.6%,
respectively, compared to $4,604,000 and 22.4%, respectively, for the three months ended June 30, 2023, an increase of $511,424, or 11.1%, and 220 basis points, respectively, for the reasons noted above and a favorable year-over-year mix.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Gross
profit and gross profit percentage (&#8220;gross margin&#8221;) for the six months ended June 30, 2024 was $8,669,173 and 21.7%,
respectively, compared to $9,266,516 and 21.8%, respectively, for the six months ended June 30, 2023, a decrease of $597,343,
or 6.4%, and 10 basis points, respectively, for the reasons noted above.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Favorable/Unfavorable
Adjustments to Gross Profit</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the six months ended June 30, 2024 and 2023, circumstances required that we make changes in estimates to various contracts. Such
changes in estimates resulted in changes in total gross profit as follows:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 70%">
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Six months ended</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2023</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 44%; text-align: left">Favorable adjustments</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 10%; text-align: right">1,490,839</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: 10%; text-align: right">1,913,135</td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Unfavorable adjustments</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(2,849,017</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(2,189,848</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Net adjustments</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,358,178</td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(276,713</td><td style="padding-bottom: 2.5pt; text-align: left">)</td></tr>
</table>


<p style="margin-top: 0; margin-bottom: 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Selling,
General and Administrative Expenses</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Selling,
general and administrative expenses for the three months ended June 30, 2024 were $2,775,935 compared to $2,806,480 for the three
months ended June 30, 2023, a decrease of $30,545 or 1.1%. The decrease was primarily the result of lower personnel related expenses.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Selling,
general and administrative expenses for the six months ended June 30, 2024 were $5,489,839 compared to $5,675,538 for the six
months ended June 30, 2023, a decrease of $185,699 or 3.3%. The decrease was primarily the result of lower personnel related expenses.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Interest
expense</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Interest
expense for the three months ended June 30, 2024 was $587,971, compared to $541,655 for the three months ended June 30, 2023,
an increase of $46,316 or 8.6%. The increase was the result of higher year-over-year interest rates charged on our outstanding
debt under the Credit Agreement, partially offset by a year-over-year decrease in the amount of our outstanding debt under the
Credit Agreement.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Interest
expense for the six months ended June 30, 2024 was $1,220,106, compared to $1,152,551 for the six months ended June 30, 2023,
an increase of $67,555 or 5.9%. The increase was the result of higher year-over-year interest rates charged on our outstanding
debt under the Credit Agreement, partially offset by a year-over-year decrease in the amount of our outstanding debt under the
Credit Agreement.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Income
Before Provision for Income Taxes</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income
before provision for income taxes for the three months ended June 30, 2024 was $1,751,518 compared to $1,255,865 for the three
months ended June 30, 2023, an increase of $495,653 or 39.5% for the reasons noted above.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income
before provision for income taxes for the six months ended June 30, 2024 was $1,959,228 compared to $2,438,427 for the six months
ended June 30, 2023, a decrease of $479,199 or 19.7% for the reasons noted above.</span></p>

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Provision
for Income Taxes</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Provision
for income taxes for the three months ended June 30, 2024 was $341,572 compared to $98,789 for the three months ended June 30,
2023, an increase of $242,783, or 245.8%. The increase in the provision for income tax is primarily the result of the partial
release of approximately $121,000 of the Company&#8217;s valuation allowance on its deferred tax asset recorded during the three
months ending June 30, 2023.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
effective income tax rate for the three months ended June 30, 2024 is 19.5%. The difference between the effective income tax rate
for the three months ended June 30, 2024 and the statutory income tax rate of 21% for the three months ended June 30, 2024 is
primarily due estimated R&amp;D credit, state income taxes and permanent tax differences.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Provision
for income taxes for the six months ended June 30, 2024 was $381,044 compared to $298,046 for the six months ended June 30, 2023,
an increase of $82,998, or 27.8%. The increase in the provision for income tax is primarily the result of the partial release
of approximately $121,000 of the Company&#8217;s valuation allowance on its deferred tax asset recorded during the three months
ending June 30, 2023.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
effective income tax rate for the six months ended June 30, 2024 is 19.4%. The difference between the effective income tax rate
for the six months ended June 30, 2024 and the statutory income tax rate of 21% for the six months ended June 30, 2024 is primarily
due estimated R&amp;D credit, state income taxes and permanent tax differences.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Net
Income and Earnings per Share</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net
income for the three months ended June 30, 2024 was $1,409,946 compared to $1,157,076 for the three months ended June 30, 2023,
an increase of $252,870 or 21.9% for the reasons noted above.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Basic
and diluted income per share for the three months ended June 30, 2024 of $0.11 compared to $0.09 for the three months ended June
30, 2023, an increase of $0.02, or 22.2%.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Basic
and diluted income per share for the three months ended June 30, 2024 was calculated using 12,440,426 and 12,554,153 weighted
average basic and diluted shares outstanding, respectively, as compared to 12,558,793 and 12,625,241 weighted average basic and
diluted shares outstanding, respectively, for the three months ended June 30, 2023.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net
income for the six months ended June 30, 2024 was $1,578,184 compared to $2,140,381 for the six months ended June 30, 2023, a
decrease of $562,197 or 26.3% for the reasons noted above.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Basic
income per share for the six months ended June 30, 2024 of $0.13 compared to $0.17 for the six months ended June 30, 2023, a decrease
of $0.04, or 23.5%. Diluted income per share for the six months ended June 30, 2024 of $0.12 compared to $0.17 for the six months
ended June 30, 2023, a decrease of $0.05, or 29.4%.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Basic
and diluted income per share for the six months ended June 30, 2024 was calculated using 12,515,824 and 12,656,753 weighted average
basic and diluted shares outstanding, respectively, as compared to 12,539,652 and 12,606,100 weighted average basic and diluted
shares outstanding, respectively, for the six months ended June 30, 2023.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Liquidity
and Capital Resources</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>General</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">At
June 30, 2024, we had working capital of $16,239,499 compared to $15,402,381 at December 31, 2023, an increase of $837,118 or
5.4%. The increase was driven primarily by lower contract liabilities and higher accounts receivable, partly offset by lower cash
and contract assets.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Cash
Flow</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A
large portion of our cash flow is used to pay for materials and processing costs associated with contracts that are in process
and which do not provide for progress payments. Costs and related earnings for which we do not bill on a progress basis, and which,
as a result, we bill upon shipment of products, are components of contract assets on our consolidated balance sheets and represent
the aggregate costs and related earnings for uncompleted contracts for which the customer has not yet been billed. These costs
and earnings are recovered upon shipment of products and presentation of billings in accordance with contract terms.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Because
ASC 606 requires us to use estimates in determining revenue, costs and profits and in assigning the amounts to accounting periods,
there can be a significant disparity between earnings (both for accounting and tax purposes) as reported and actual cash that
we receive during any reporting period. Accordingly, it is possible that we may have a shortfall in our cash flow and may need
to borrow money or take steps to defer cash outflows until the reported earnings materialize into actual cash receipts.</span></p>

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Some
of our programs require us to expend up-front costs that may have to be amortized over a portion of production units. In the case
of significant program delays and/or program cancellations, we could experience margin degradation, which may be material for
costs that are not recoverable. Such charges and the loss of up-front costs could have a material impact on our liquidity and
results of operations.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
continuously work to improve our payment terms from our customers, including accelerated progress payment arrangements, as well
as exploring alternate funding sources.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">At
June 30, 2024, we had cash of $1,936,697 compared to $5,094,794 at December 31, 2023, a decrease of $3,158,097 or 62%. This decrease
was primarily the result of cash flow used in operating activities and repayment of debt.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Bank
Credit Facilities</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
March 24, 2016, the Company entered into an Amended and Restated Credit Agreement with the lenders named therein and BankUnited
N.A. as Sole Arranger, Agent and Collateral Agent (as amended from time to time, the &#8220;Credit Agreement&#8221; or the &#8220;BankUnited
Facility&#8221;). The Credit Agreement originally provided for a revolving credit loan commitment of $30 million (the &#8220;Revolving
Loan&#8221;) and a $10 million term loan (&#8220;Term Loan&#8221;). The Revolving Loan bears interest at a rate as defined in
the Credit Agreement.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
February 20, 2024, the Company entered into a Thirteenth Amendment to the Credit Agreement (the &#8220;Thirteenth Amendment&#8221;).
Under the Thirteenth Amendment, the parties amended the Credit Agreement by (a) extending the maturity date of the Company&#8217;s
existing revolving line of credit to August 31, 2025; and (b) setting the aggregate maximum principal amount of all revolving
line of credit loans to $19,800,000 from January 1, 2024 through March 31, 2024, $19,080,000 from April 1, 2024 through June 30,
2024, $18,360,000 from July 1, 2024 through September 30, 2024, $17,640,000 from October 1, 2024 through December 31, 2024, $16,920,000
from January 1, 2025 through March 31, 2025, $16,200,000 from April 1, 2025 through June 30, 2025 and $15,480,000 thereafter,
and for payments to be made by the Company to comply therewith (if any such payments are necessary), on the first day of each
such period.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Credit Agreement, as amended, requires us to maintain the following financial covenants: (a) minimum debt service coverage ratio
of no less than 1.5 to 1.0 for trailing four fiscal quarter periods; (b) maximum leverage ratio of no less than 4.0 to 1.0 for
trailing four fiscal quarter periods; (c) minimum net income after taxes as of the end of each fiscal quarter being no less than
$1.00; and (d) a minimum adjusted EBITDA at the end of each fiscal quarter of no less than $1.0 million. The additional principal
payments, increase in interest and the Amendment Fee provided for in the Eighth Amendment (entered into on October 28, 2021) and
Ninth Amendment to the Credit Agreement (entered into on April 12, 2022) are excluded for purposes of calculating compliance with
each of the financial covenants.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
BankUnited Facility is secured by all of the Company&#8217;s assets and the Revolving Loan bears interest at the Prime Rate +
3.50%. The Prime Rate was 8.50% as of June 30, 2024 and as such, the Company&#8217;s interest rate on the Revolving Loan was 12.00%
as of June 30, 2024.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of June 30, 2024 and December 31, 2023, the Company had $18,840,000 and $20,040,000 outstanding under the Revolving Loan, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">There
is currently no availability for borrowings under the Revolving Loan and the Company finances its operations from internally generated
cash flow.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Liquidity</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
believe that our existing resources as of June 30, 2024 will be sufficient to meet our current working capital needs for at least
the next 12 months from the date of issuance of our consolidated financial statements. However, our working capital requirements
can vary significantly, depending in part on the timing of new program awards and the payment terms with our customers and suppliers.
If our working capital needs exceed our cash flows from operations, we would look to our cash balances and availability for borrowings
under our borrowing arrangement to satisfy those needs, as well as potential sources of additional capital, which may not be available
on satisfactory terms and in adequate amounts, if at all.</span></p>

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Contractual
Obligations</i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
information concerning our contractual obligations, see <i>Contractual Obligations</i> under Item 7 of Management&#8217;s Discussion
and Analysis of Financial Condition and Results of Operations of our Annual Report on Form 10-K for the year ended December 31,
2023.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Inflation</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inflation
historically has not had a material effect on our operations, although the current inflationary environment in the U.S., and its
impact on interest rates, the supply chain, the labor market and general economic conditions, are factors that the Company actively
monitors in an attempt to mitigate and manage potential negative impacts on and risks faced by the Company. The majority of the
Company&#8217;s long term contracts with its customers reflect fixed pricing and its long term contracts with its suppliers reflect
fixed pricing. When bidding for work, the Company takes inflation risk and supply side pricing risk into account in its proposals.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="cpi10qa009"></span>Item
3 &#8211; Quantitative and Qualitative Disclosures About Market Risk</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Not
applicable.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span id="cpi10qa010"></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
4 &#8211; Controls and Procedures</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Management
is responsible for establishing and maintaining adequate internal control over financial reporting. Internal control over financial
reporting, as defined in Exchange Act Rules 13a-15(f) and 15d-15(f), is a process designed by, or under the supervision of, our
principal executive and principal financial officers and effected by our board of directors, management and other personnel, to
provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for
external purposes in accordance with U.S. GAAP and includes those policies and procedures that:</span></p>

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

<table cellspacing="0" cellpadding="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; width: 30px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 30px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">pertain
    to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions
    of our assets;</span></td></tr>
</table>

<p style="margin-top: 0; margin-bottom: 0">&#160;</p>
<table cellspacing="0" cellpadding="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; width: 30px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 30px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">provide
    reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance
    with U.S. GAAP, and that our receipts and expenditures are being made only in accordance with authorizations of our management
    and directors; and</span></td></tr>
</table>

<p style="margin-top: 0; margin-bottom: 0">&#160;</p>
<table cellspacing="0" cellpadding="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; width: 30px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 30px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">provide
    reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use or disposition of our assets
    that could have a material effect on our consolidated financial statements.</span></td></tr>
</table>

<p style="margin-top: 0; margin-bottom: 0">&#160;</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Because
of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. 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.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Management
conducted an evaluation of the effectiveness of internal control over financial reporting for the twelve months ended December
31, 2023 based on criteria established in <i>Internal Control- Integrated Framework </i>(2013) issued by the Committee of Sponsoring
Organizations of the Treadway Commission (&#8220;COSO&#8221;). In connection with this evaluation, management identified a deficiency
that constituted a material weakness in our internal control over financial reporting as of December 31, 2023, pertaining to income
tax accounting. For more information on this deficiency, see Item 9A. Controls and Procedures, included in our Annual Report on
Form 10-K. Based on management&#8217;s evaluation of internal control over financial reporting for the twelve months ended December
31, 2023, and as of June 30, 2024, our disclosure controls and procedures were not effective as of June 30, 2024 due to the aforementioned
material weakness pertaining to income tax accounting.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A
material weakness is a deficiency, or a combination of deficiencies, in internal control over financial reporting, such that there
is a reasonable possibility that a material misstatement of the Company&#8217;s annual or interim consolidated financial statements
will not be prevented or detected on a timely basis.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has begun to develop new controls designed to remediate the aforementioned 2023 material weakness pertaining to income
tax accounting, which the Company intends to implement during 2024.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Changes
in Internal Control Over Financial Reporting</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the quarter ended June 30, 2024, we implemented the following changes in our internal control over financial reporting that materially
affected, or are reasonably likely to materially affect, our internal control over financial reporting as follows: (a) we replaced
the Company&#8217;s outside tax accounting and tax return preparer with a new firm (the &#8220;Tax Accounting Firm&#8221;); (b)
we retained the Tax Accounting Firm (i) to prepare the Company&#8217;s income tax accounting and disclosures for the quarter ended
June 30, 2024 and (ii) to review the income tax accounting and disclosures prepared by the predecessor firm for the quarter ended
March 31, 2024 prior to the filing of the Form 10-Q for the quarter ended March 31, 2024; (c) we updated our financial risk assessment
to reflect tax accounting as a high risk area, and (d) we adopted a tax accounting review checklist provided by our Sarbanes-Oxley
consulting firm for use by CPI&#8217;s finance management in reviewing the quarterly and annual work of the Tax Accounting Firm,
beginning with the tax accounting for the quarter ended June 30, 2024.</span></p>

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span id="cpi10qa011"></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Part
II - Other Information</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span id="cpi10qa012"></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
1 &#8211; Legal Proceedings</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="cpi10qa013"></span>Item
1A &#8211; Risk Factors</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#8220;Item
1A. Risk Factors&#8221; of our Annual Report on Form 10-K for the year ended December 31, 2023, includes a discussion of significant
factors known to us that could materially adversely affect our business, financial condition, or results of operations. There
have been no material changes from the risk factors disclosed in the Annual Report.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="cpi10qa014"></span>Item
2 &#8211; Unregistered Sales of Equity Securities and Use of Proceeds</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span id="cpi10qa015"></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
3 &#8211; Defaults Upon Senior Securities</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span id="cpi10qa016"></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
4 &#8211; Mine Safety Disclosures</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Not
applicable.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span id="cpi10qa017"></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Item
5 &#8211; Other Information</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None.</span></p>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font: 10pt Times New Roman, Times, Serif"><b><span id="cpi10qa018"></span>Item
6 &#8211; Exhibits</b></span></p>

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

<table cellspacing="0" cellpadding="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; width: 120px; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Exhibit
    No.</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Description</b></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: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex31-1.htm">31.1*</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex31-1.htm">Section 302 Certification by Chief Executive Officer and President</a></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: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex31-2.htm">31.2*</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex31-2.htm">Section 302 Certification by Chief Financial Officer (Principal Accounting Officer)</a></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: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex32-1.htm">32.1**</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex32-1.htm">Section 906 Certification by Chief Executive Officer and Chief Financial Officer</a></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: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.INS**</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Instance Document. The instance document does not appear in the Interactive Data File because its XBRL tags are embedded
    within the Inline XBRL document.</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: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.SCH*</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Schema Document.</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: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.CAL*</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Calculation Linkbase Document.</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: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.DEF*</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Definition Linkbase Document.</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: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.LAB*</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Label Linkbase Document.</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: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.PRE*</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Presentation Linkbase Document.</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: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">104**</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cover
    Page Interactive Data File. The cover page XBRL tags are embedded within the Inline XBRL document.</span></td></tr>
</table>

<p style="margin-top: 0; margin-bottom: 0">&#160;</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">*
Filed herewith&#160;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">**
Furnished herewith</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Attached
as Exhibit 101 to this report are the following formatted in Inline XBRL (Extensible Business Reporting Language): (i) Condensed
Consolidated Statement of Operations for the three and six months ended June 30, 2024 and 2023, (ii) Condensed Consolidated Balance
Sheet as of June 30, 2024 and December 31, 2023, (iii) Condensed Consolidated Statement of Cash Flows for the six months ended
June 30, 2024 and 2023, (iv) Condensed Consolidated Statement of Changes in Equity for the three and six months ended June 30,
2024 and 2023 and (v) Notes to Condensed Consolidated Financial Statements.</span></p>

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


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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font: 10pt Times New Roman, Times, Serif"><b><span id="cpi10qa019"></span><span style="text-decoration: underline">SIGNATURES</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Pursuant
to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf
by the undersigned thereunto duly authorized.</span></p>

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

<table cellspacing="0" cellpadding="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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">CPI
    AEROSTRUCTURES, INC.</span></td></tr>
<tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 50%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 4%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 46%; text-align: justify"><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: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Dated:
    August 13, 2024</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">By.</span></td>
    <td style="border-bottom: black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/
    Dorith Hakim</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: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Dorith
    Hakim</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: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
                                         Executive Officer and President&#160;</span></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Principal
        Executive Officer)&#160;&#160;</span></p></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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><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: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Dated:
    August 13, 2024</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">By.</span></td>
    <td style="border-bottom: black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/
    Andrew L. Davis</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: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Andrew
    L. Davis</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: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
                                         Financial Officer&#160;</span></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Principal
        Financial and Accounting Officer)&#160;</span>&#160;</p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"></p></td></tr>
</table>

<p style="margin-top: 0; margin-bottom: 0">&#160;</p>

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

    <!-- Field: /Page -->

</div>

<!-- Field: Set; Name: xdx; ID: xdx_08B_extensions -->
<!-- eJydWO9u4zYMf4K+A5FPG3DwObn2sPVbmqZFsLQN0vQ24HAfFJtJtNpSTpbT9pH2lqMk/4tqO90OB6Qmf/yRkkmK8mDwaXArb3iCCv66Ws5hhek+YRphiRtUKCIkxGT2xyXQ7xK3PNOKCW0fS8OJJBskm4tg9IWRwkIPPMP4EsLfPg9Hn0fnEJ5fhiEs7gZnRj+RYsNjFJqzBJiIYaHkXnHUTL05hhV7lUKmb9bVN1QZl+IShkHo1P/AKByO4F4e2ItUzxnM55PB2Sf772xwq2S+J9T0VaMwljBNMCV3mbOu/9toojzTMr2ciUghy/Aa3e9MzGWWLTFDdTD7QA5HwzA8N9HtEFgqc6FBboAXhvBLXJj+SjJIyBqUMw/IaFbBrpsw4wRqL35UE5btFozH17niYrtAxWV8I9V4bV5FpAk4DEdfhuHwonNhtNsW+yfXu4kVoRpnGeqxiOecrXnC9dsKX/VVIqNns9LQrHRyUazUvCeFEPMsojXl9CctOipIgRmmzL7FSpYUrBwz2CiZ1poXigGiIojApUJDU4YHNj5LWkUI302MYIP80bLMKyaenwTXGN9hukZVbc3YJI3RglPDdwf40S32uVeo0rlkoo3Z6OhlM9EkaBX6rO5tPgisaMOa1imBtE2Kdmk78epF9hCTtoXYk3YQ7xT2xWz1beS+3Ke/R01VQgmwxJ855Vz8JGLK1S2ZmfI1+z46KkJ0dU1ltjeVRhUOgvKGWxKSOhbIDQ2wksfk3f1pWEuAd1zwNE/H8d/0jPF0zXVsel5Yh1VAgBUYmF7NVtdjYBq0LabYlA+yaAcbqihqgD9zprSrhg7jtqIuKqUje6pCIn3gPfe9gRLXkTsVDekD7/lDtF2ZUxMZRPBO0ktetBDbM7K2Eq2ajIM0yXpUXYu4kbnqXYMBBL6gj3mO5Bwf9qiYpi4/N4dDtmLrBLvaMlvnCVNeT04sDciShwSGyITiPEDlApwP6qnGC/R31jv2arJyjgey3uKSGKSNZ2iS/qvJW4cghw4CxouEjVRAu0vtmzxuzCYcpzzsbWOwEbZTdNfgNa71Ix2aPMKJ7A6sKKiY0JA5OJ1G/z/K03ydbbMrb4ru6CdJh7iDmx/6OrJRt3F7Yp97iXv2Zgenh81MUJoxGglvuKAf2quHdcK3ZsXiuAPWVm46KuxoVwtDkJVl8A5f+YHKERx58oO8NbsvjP1jvi4HjaxtM2okZA1o0K3q3XjFU6ztJn2eLRa2tZMj593a/raXUm+JaITudV3Djp22yfvcPUY7jPMEHzbTTPOUbgnZWBfDP70YdyTat/jfGxeWjOaUjCrO4hh0qaElbJWZlfdKbrg9w8uQDMW0SVGHBY24PtbsTqxuJW9NFAsbxHHed4VwYhWnIzdW1itUbv2ob9hBKrO62qotGSpYM6igS9GXDk9i8zGXDaDvtEN1ottRu05Nf5jS1KbfFgkTozD8vaP5lWBwaDBwMPjghL73uF7NFnT//Nrmcy6pX9npnyZZc3OiDluQDr8GpwD9zfggk4MZD5oXEVdb1nUFgLl38ejWtJ8mj/y1zUFxapC25SzxpB3EdLi3xl6SGH0buS/36b/RXC39Ybgkd0p/9G2X+sQtXwXoXusOo0fU2l1Ajo/C4w8FbZ8HYnubtxcCurpIZUcyN2bYTweVC5oxSh/eqXn8FaEJ2zTt5buj81/rW9ul -->
</body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>2
<FILENAME>ex31-1.htm
<DESCRIPTION>SECTION 302 CERTIFICATION BY CHIEF EXECUTIVE OFFICER AND PRESIDENT
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<!-- Field: Rule-Page --><DIV ALIGN="LEFT" STYLE="margin-top: 12pt; margin-bottom: 3pt"><DIV STYLE="font-size: 1pt; border-top: Black 2pt solid; border-bottom: Black 1pt solid; width: 100%">&nbsp;</DIV></DIV><!-- Field: /Rule-Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: left"><a href="cpi-10q_063024.htm">CPI Aerostructures, Inc. 10-Q</a><FONT STYLE="font: 10pt Times New Roman, Times, Serif"><B>&nbsp;</b></font></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: right"><font style="font: 10pt Times New Roman, Times, Serif"><b>&nbsp;</b></font></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: right"><font style="font: 10pt Times New Roman, Times, Serif"><b>EXHIBIT
31.1</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>CERTIFICATION
PURSUANT TO</B></FONT><BR>
<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>SECTION 302 OF THE SARBANES-OXLEY</B></FONT><BR>
<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>ACT OF 2002</B></FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I,
Dorith Hakim, certify that:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="width: 100%; border-collapse: collapse; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I
    have reviewed this Quarterly Report on Form 10-Q of CPI Aerostructures, Inc.;</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">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;</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">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;</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    registrant&rsquo;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and
    procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined
    in Exchange Act Rules 13a-15(f) and 15d-15(f) for the registrant and have:</FONT></TD></TR>
</TABLE>

<P STYLE="margin-top: 0; margin-bottom: 0">&nbsp;</P>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="width: 100%; border-collapse: collapse; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 1in">&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Designed
    such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision,
    to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to
    us by others within those entities, particularly during the period in which this report is being prepared;</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">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;</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(c)</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">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</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(d)</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Disclosed
    in this report any change in the registrant&rsquo;s internal control over financial reporting that occurred during the registrant&rsquo;s
    fourth fiscal quarter that has materially affected, or is reasonably likely to materially affect, the registrant&rsquo;s internal
    control over financial reporting; and</FONT></TD></TR>
</TABLE>

<P STYLE="margin-top: 0; margin-bottom: 0">&nbsp;</P>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="width: 100%; border-collapse: collapse; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">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 to the audit committee of the registrant&rsquo;s board of
    directors (or persons performing the equivalent functions):</FONT></TD></TR>
</TABLE>

<P STYLE="margin-top: 0; margin-bottom: 0">&nbsp;</P>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="width: 100%; border-collapse: collapse; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; width: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">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</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">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.</FONT></TD></TR>
</TABLE>

<P STYLE="margin-top: 0; margin-bottom: 0">&nbsp;</P>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="width: 100%; border-collapse: collapse; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Dated:
    August 13, 2024</FONT></TD>
    <TD COLSPAN="2" STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">CPI
    AEROSTRUCTURES, INC.</FONT></TD></TR>
<TR STYLE="font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD COLSPAN="2" STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Registrant)</FONT></TD></TR>
<TR STYLE="font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif; width: 3%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="vertical-align: bottom; font: 10pt Times New Roman, Times, Serif; width: 47%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
<TR STYLE="vertical-align: bottom; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</FONT></TD>
    <TD STYLE="border-bottom: black 1pt solid; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">/s/
    Dorith Hakim</FONT></TD></TR>
<TR STYLE="vertical-align: bottom; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Dorith
    Hakim</FONT></TD></TR>
<TR STYLE="vertical-align: bottom; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
                                         Executive Officer, President and Director</FONT></P>
        <P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"></P>
        <P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Principal
        Executive Officer)&nbsp;</FONT></P></TD></TR>
</TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: right">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: right"></P>

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



</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>3
<FILENAME>ex31-2.htm
<DESCRIPTION>SECTION 302 CERTIFICATION BY CHIEF FINANCIAL OFFICER (PRINCIPAL ACCOUNTING OFFICER)
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<!-- Field: Rule-Page --><DIV ALIGN="LEFT" STYLE="margin-top: 12pt; margin-bottom: 3pt"><DIV STYLE="font-size: 1pt; border-top: Black 2pt solid; border-bottom: Black 1pt solid; width: 100%">&nbsp;</DIV></DIV><!-- Field: /Rule-Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: left"><a href="cpi-10q_063024.htm">CPI Aerostructures, Inc. 10-Q</a><FONT STYLE="font: 10pt Times New Roman, Times, Serif"><B>&nbsp;</b></font></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: right"><font style="font: 10pt Times New Roman, Times, Serif"><b>&nbsp;</b></font></p>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: right"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;<B>EXHIBIT
31.2</B></FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>CERTIFICATION
PURSUANT TO</B></FONT><BR>
<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002</B></FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">I,
Andrew L. Davis, certify that:</FONT></P>

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="width: 100%; border-collapse: collapse; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">1.</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">I
    have reviewed this Quarterly Report on Form 10-Q of CPI Aerostructures, Inc.;</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">2.</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">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;</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">3.</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">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;</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">4.</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">The
    registrant&rsquo;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and
    procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined
    in Exchange Act Rules 13a-15(f) and 15d-15(f) for the registrant and have:</FONT></TD></TR>
</TABLE>

<P STYLE="margin-top: 0; margin-bottom: 0">&nbsp;</P>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="width: 100%; border-collapse: collapse; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; width: 1in"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">(a)</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">Designed
    such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision,
    to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to
    us by others within those entities, particularly during the period in which this report is being prepared;</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">(b)</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">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;</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">(c)</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">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</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">(d)</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">Disclosed
    in this report any change in the registrant&rsquo;s internal control over financial reporting that occurred during the registrant&rsquo;s
    fourth fiscal quarter that has materially affected, or is reasonably likely to materially affect, the registrant&rsquo;s internal
    control over financial reporting; and</FONT></TD></TR>
</TABLE>

<P STYLE="margin-top: 0; margin-bottom: 0">&nbsp;</P>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="width: 100%; border-collapse: collapse; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">5.</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">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 to the audit committee of the registrant&rsquo;s board of
    directors (or persons performing the equivalent functions):</FONT></TD></TR>
</TABLE>

<P STYLE="margin-top: 0; margin-bottom: 0">&nbsp;</P>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="width: 100%; border-collapse: collapse; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; width: 1in"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; width: 0.5in"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">(a)</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">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</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">(b)</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">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.</FONT></TD></TR>
</TABLE>

<P STYLE="margin-top: 0; margin-bottom: 0">&nbsp;</P>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="width: 100%; border-collapse: collapse; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">Dated:
    August 13, 2024</FONT></TD>
    <TD COLSPAN="2" STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">CPI
    AEROSTRUCTURES, INC.</FONT></TD></TR>
<TR STYLE="font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD COLSPAN="2" STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">(Registrant)</FONT></TD></TR>
<TR STYLE="font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; width: 50%"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif; width: 3%"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="vertical-align: bottom; font: 10pt Times New Roman, Times, Serif; width: 47%"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD></TR>
<TR STYLE="vertical-align: bottom; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">By:</FONT></TD>
    <TD STYLE="border-bottom: black 1pt solid; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">/s/
    Andrew L. Davis</FONT></TD></TR>
<TR STYLE="vertical-align: bottom; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">Andrew
    L. Davis</FONT></TD></TR>
<TR STYLE="vertical-align: bottom; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">Chief
                                         Financial Officer and Secretary</FONT></P>
        <P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"></P>
        <P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">(Principal
        financial and accounting officer)&nbsp;</FONT></P>
        <P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><FONT STYLE="font: 10pt Times New Roman, Times, Serif"></FONT></P></TD></TR>
<TR STYLE="vertical-align: bottom; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
</TABLE>

<!-- Field: Page; Sequence: 1 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin-top: 0pt; text-align: center; margin-bottom: 0pt; font: 10pt Times New Roman, Times, Serif">&nbsp;</P></DIV>
    <!-- Field: /Page -->


</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>4
<FILENAME>ex32-1.htm
<DESCRIPTION>SECTION 906 CERTIFICATION BY CHIEF EXECUTIVE OFFICER AND CHIEF FINANCIAL OFFICER
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<!-- Field: Rule-Page --><DIV ALIGN="LEFT" STYLE="margin-top: 12pt; margin-bottom: 3pt"><DIV STYLE="font-size: 1pt; border-top: Black 2pt solid; border-bottom: Black 1pt solid; width: 100%">&nbsp;</DIV></DIV><!-- Field: /Rule-Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: left"><a href="cpi-10q_063024.htm">CPI Aerostructures, Inc. 10-Q</a><FONT STYLE="font: 10pt Times New Roman, Times, Serif"><B>&nbsp;</b></font></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: right"><font style="font: 10pt Times New Roman, Times, Serif"><b>&nbsp;</b></font></p>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: right"><FONT STYLE="font: 10pt Times New Roman, Times, Serif"><B>EXHIBIT
32.1</B></FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>CERTIFICATION
PURSUANT TO 18 U.S.C. SECTION 1350</B></FONT><BR>
<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>AS ADOPTED PURSUANT TO</B></FONT><BR>
<FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</B></FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">In
connection with the Quarterly Report of CPI Aerostructures, Inc. (the &ldquo;Company&rdquo;) on Form 10-Q for the quarter ended
June 30, 2024 as filed with the Securities and Exchange Commission (the &ldquo;Report&rdquo;), the undersigned, in the capacities
and on the date indicated below, hereby certifies pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the
Sarbanes-Oxley Act of 2002, that:</FONT></P>

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="width: 100%; border-collapse: collapse; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 0.75in; text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">1.</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">The
    Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and</FONT></TD></TR>
</TABLE>

<P STYLE="margin-top: 0; margin-bottom: 0">&nbsp;</P>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="width: 100%; border-collapse: collapse; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 0.75in; text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">2.</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">The
    information contained in the Report fairly presents, in all material respects, the financial condition and results of operation
    of the Company.</FONT></TD></TR>
</TABLE>

<P STYLE="margin-top: 0; margin-bottom: 0">&nbsp;</P>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="width: 100%; border-collapse: collapse; font: 10pt Times New Roman, Times, Serif">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">Dated:
    August 13, 2024</FONT></TD>
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">CPI
    AEROSTRUCTURES, INC.</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">(Registrant)</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 50%; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="width: 3%; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="width: 47%; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">By:</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">/s/
    Dorith Hakim</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="border-top: black 1pt solid; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">Dorith
    Hakim</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">Chief
    Executive Officer, President and Director</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">(Principal
    executive officer)</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">Dated:
    August 13, 2024</FONT></TD>
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">CPI
    AEROSTRUCTURES, INC.</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">(Registrant)</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">By:</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">/s/
    Andrew L. Davis</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="border-top: black 1pt solid; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">Andrew
    L. Davis</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">Chief
    Financial Officer and Secretary</FONT></TD></TR>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font: 10pt Times New Roman, Times, Serif">(Principal
    financial and accounting officer)</FONT></TD></TR>
</TABLE>

<P STYLE="margin-top: 0; margin-bottom: 0">&nbsp;</P>

<P STYLE="margin-top: 0; margin-bottom: 0"></P>

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

<P STYLE="margin-top: 0; margin-bottom: 0">&nbsp;</P>


</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>5
<FILENAME>cvu-20240630.xsd
<DESCRIPTION>XBRL SCHEMA FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" ?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.23a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
    <!-- Field: Doc-Info; Name: Misc; Value: +6spw7xRiXhun8uCbn1MSaCKSbP9w5dz6elBtm98HcmqLyghzUsD7yls5ip2oTAG -->
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:srt="http://fasb.org/srt/2024" xmlns:srt-types="http://fasb.org/srt-types/2024" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:cvu="http://cpiaero.com/20240630" elementFormDefault="qualified" targetNamespace="http://cpiaero.com/20240630">
    <annotation>
      <appinfo>
        <link:roleType roleURI="http://cpiaero.com/role/Cover" id="Cover">
          <link:definition>00000001 - Document - Cover</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/CondensedConsolidatedBalanceSheets" id="CondensedConsolidatedBalanceSheets">
          <link:definition>00000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/CondensedConsolidatedBalanceSheetsParenthetical" id="CondensedConsolidatedBalanceSheetsParenthetical">
          <link:definition>00000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations" id="CondensedConsolidatedStatementsOfOperations">
          <link:definition>00000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (UNAUDITED)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquity" id="CondensedConsolidatedStatementsOfShareholdersEquity">
          <link:definition>00000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (UNAUDITED)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows" id="CondensedConsolidatedStatementsOfCashFlows">
          <link:definition>00000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/InterimFinancialStatements" id="InterimFinancialStatements">
          <link:definition>00000007 - Disclosure - INTERIM FINANCIAL STATEMENTS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/Revenue" id="Revenue">
          <link:definition>00000008 - Disclosure - REVENUE</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/ContractAssetsAndLiabilities" id="ContractAssetsAndLiabilities">
          <link:definition>00000009 - Disclosure - CONTRACT ASSETS AND LIABILITIES</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/Inventory" id="Inventory">
          <link:definition>00000010 - Disclosure - INVENTORY</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/Stock-basedCompensation" id="Stock-basedCompensation">
          <link:definition>00000011 - Disclosure - STOCK-BASED COMPENSATION</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/NetIncomePerShare" id="NetIncomePerShare">
          <link:definition>00000012 - Disclosure - NET INCOME PER SHARE</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/LineOfCreditAndLong-termDebt" id="LineOfCreditAndLong-termDebt">
          <link:definition>00000013 - Disclosure - LINE OF CREDIT AND LONG-TERM DEBT</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/MajorCustomersAndVendors" id="MajorCustomersAndVendors">
          <link:definition>00000014 - Disclosure - MAJOR CUSTOMERS AND VENDORS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/Leases" id="Leases">
          <link:definition>00000015 - Disclosure - LEASES</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/IncomeTaxes" id="IncomeTaxes">
          <link:definition>00000016 - Disclosure - INCOME TAXES</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/CommitmentsAndContingencies" id="CommitmentsAndContingencies">
          <link:definition>00000017 - Disclosure - COMMITMENTS AND CONTINGENCIES</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/InterimFinancialStatementsPolicies" id="InterimFinancialStatementsPolicies">
          <link:definition>00000018 - Disclosure - INTERIM FINANCIAL STATEMENTS (Policies)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/RevenueTables" id="RevenueTables">
          <link:definition>00000019 - Disclosure - REVENUE (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/ContractAssetsAndLiabilitiesTables" id="ContractAssetsAndLiabilitiesTables">
          <link:definition>00000020 - Disclosure - CONTRACT ASSETS AND LIABILITIES (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/InventoryTables" id="InventoryTables">
          <link:definition>00000021 - Disclosure - INVENTORY (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/Stock-basedCompensationTables" id="Stock-basedCompensationTables">
          <link:definition>00000022 - Disclosure - STOCK-BASED COMPENSATION (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/LineOfCreditAndLong-termDebtTables" id="LineOfCreditAndLong-termDebtTables">
          <link:definition>00000023 - Disclosure - LINE OF CREDIT AND LONG-TERM DEBT (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/LeasesTables" id="LeasesTables">
          <link:definition>00000024 - Disclosure - LEASES (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/InterimFinancialStatementsDetailsNarrative" id="InterimFinancialStatementsDetailsNarrative">
          <link:definition>00000025 - Disclosure - INTERIM FINANCIAL STATEMENTS (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails" id="FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails">
          <link:definition>00000026 - Disclosure - The following tables present the Company&#8217;s revenue disaggregated by contract type and revenue recognition method: (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/NetEacAdjustmentsHadFollowingImpactOnOurGrossProfitDuringSixMonthsEndedJune302024And2023Details" id="NetEacAdjustmentsHadFollowingImpactOnOurGrossProfitDuringSixMonthsEndedJune302024And2023Details">
          <link:definition>00000027 - Disclosure - Net EAC adjustments had the following impact on our gross profit during the six months ended June 30, 2024 and 2023: (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/RevenueDetailsNarrative" id="RevenueDetailsNarrative">
          <link:definition>00000028 - Disclosure - REVENUE (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/ScheduleOfContractLiabilitiesAreClassifiedAsCurrentLiabilitiesDetails" id="ScheduleOfContractLiabilitiesAreClassifiedAsCurrentLiabilitiesDetails">
          <link:definition>00000029 - Disclosure - Schedule of Contract liabilities are classified as current liabilities (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/ContractAssetsAndLiabilitiesDetailsNarrative" id="ContractAssetsAndLiabilitiesDetailsNarrative">
          <link:definition>00000030 - Disclosure - CONTRACT ASSETS AND LIABILITIES (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails" id="ComponentsOfInventoryConsistedOfFollowingDetails">
          <link:definition>00000031 - Disclosure - The components of inventory consisted of the following: (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails" id="Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails">
          <link:definition>00000032 - Disclosure - Stock-based compensation expense for restricted stock in the consolidated statements of operations is summarized as follows: (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusForSixMonthsEndedJune302024Details" id="FollowingTableSummarizesActivityRelatedToOutstandingRsusForSixMonthsEndedJune302024Details">
          <link:definition>00000033 - Disclosure - The following table summarizes activity related to outstanding RSUs for the six months ended June 30, 2024: (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRestrictedStockAwardsForSixMonthsEndedJune302024Details" id="FollowingTableSummarizesActivityRelatedToOutstandingRestrictedStockAwardsForSixMonthsEndedJune302024Details">
          <link:definition>00000034 - Disclosure - The following table summarizes activity related to outstanding Restricted Stock Awards for the six months ended June 30, 2024: (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingPrsasForSixMonthsEndedJune302024Details" id="FollowingTableSummarizesActivityRelatedToOutstandingPrsasForSixMonthsEndedJune302024Details">
          <link:definition>00000035 - Disclosure - The following table summarizes activity related to outstanding PRSAs for the six months ended June 30, 2024: (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative" id="Stock-basedCompensationDetailsNarrative">
          <link:definition>00000036 - Disclosure - STOCK-BASED COMPENSATION (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/NetIncomePerShareDetailsNarrative" id="NetIncomePerShareDetailsNarrative">
          <link:definition>00000037 - Disclosure - NET INCOME PER SHARE (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/MaturitiesOfJune302024BalanceOfTheseFinancingLeasesAreAsFollowsDetails" id="MaturitiesOfJune302024BalanceOfTheseFinancingLeasesAreAsFollowsDetails">
          <link:definition>00000038 - Disclosure - The maturities of the June 30, 2024 balance of these financing leases are as follows: (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative" id="LineOfCreditAndLong-termDebtDetailsNarrative">
          <link:definition>00000039 - Disclosure - LINE OF CREDIT AND LONG-TERM DEBT (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/MajorCustomersAndVendorsDetailsNarrative" id="MajorCustomersAndVendorsDetailsNarrative">
          <link:definition>00000040 - Disclosure - MAJOR CUSTOMERS AND VENDORS (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302024WereAsFollowsDetails" id="FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302024WereAsFollowsDetails">
          <link:definition>00000041 - Disclosure - Future minimum lease payments under non-cancellable operating leases as of June 30, 2024 were as follows: (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/FollowingTableSetsForthRight-of-useAssetsAndOperatingLeaseLiabilitiesAsOfDetails" id="FollowingTableSetsForthRight-of-useAssetsAndOperatingLeaseLiabilitiesAsOfDetails">
          <link:definition>00000042 - Disclosure - The following table sets forth the right-of-use assets and operating lease liabilities as of: (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/LeasesDetailsNarrative" id="LeasesDetailsNarrative">
          <link:definition>00000043 - Disclosure - LEASES (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/IncomeTaxesDetailsNarrative" id="IncomeTaxesDetailsNarrative">
          <link:definition>00000044 - Disclosure - INCOME TAXES (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/CommitmentsAndContingenciesDetailsNarrative" id="CommitmentsAndContingenciesDetailsNarrative">
          <link:definition>00000045 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:linkbaseRef xlink:type="simple" xlink:href="cvu-20240630_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Presentation Links" />
        <link:linkbaseRef xlink:type="simple" xlink:href="cvu-20240630_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Label Links" />
        <link:linkbaseRef xlink:type="simple" xlink:href="cvu-20240630_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Calculation Links" />
        <link:linkbaseRef xlink:type="simple" xlink:href="cvu-20240630_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Definition Links" />
      </appinfo>
    </annotation>
    <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
    <import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" />
    <import namespace="http://xbrl.sec.gov/dei/2024" schemaLocation="https://xbrl.sec.gov/dei/2024/dei-2024.xsd" />
    <import namespace="http://fasb.org/us-gaap/2024" schemaLocation="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd" />
    <import namespace="http://fasb.org/us-types/2024" schemaLocation="https://xbrl.fasb.org/us-gaap/2024/elts/us-types-2024.xsd" />
    <import namespace="http://www.xbrl.org/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd" />
    <import namespace="http://xbrl.sec.gov/country/2024" schemaLocation="https://xbrl.sec.gov/country/2024/country-2024.xsd" />
    <import namespace="http://fasb.org/srt/2024" schemaLocation="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd" />
    <import namespace="http://fasb.org/srt-types/2024" schemaLocation="https://xbrl.fasb.org/srt/2024/elts/srt-types-2024.xsd" />
    <element id="cvu_GovernmentSubcontractsMember" name="GovernmentSubcontractsMember" abstract="true" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_PrimeGovernmentContractsMember" name="PrimeGovernmentContractsMember" abstract="true" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_CommercialContractsMember" name="CommercialContractsMember" abstract="true" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_FavorableAdjustmentMember" name="FavorableAdjustmentMember" abstract="true" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_UnfavorableAdjustmentMember" name="UnfavorableAdjustmentMember" abstract="true" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_PerformanceEquityPlan2009Member" name="PerformanceEquityPlan2009Member" abstract="true" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_LTIP2016Member" name="LTIP2016Member" abstract="true" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_BankUnitedMember" name="BankUnitedMember" abstract="true" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_TermLoanMember" name="TermLoanMember" abstract="true" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_PeriodOneMember" name="PeriodOneMember" abstract="true" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_PeriodTwoMember" name="PeriodTwoMember" abstract="true" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_PeriodThreeMember" name="PeriodThreeMember" abstract="true" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_PeriodFourMember" name="PeriodFourMember" abstract="true" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_PeriodFiveMember" name="PeriodFiveMember" abstract="true" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_PeriodSixMember" name="PeriodSixMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_PeriodSevenMember" name="PeriodSevenMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_RevolvingLoanMember" name="RevolvingLoanMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_CustomerOneMember" name="CustomerOneMember" abstract="true" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_CustomerTwoMember" name="CustomerTwoMember" abstract="true" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_CustomerThreeMember" name="CustomerThreeMember" abstract="true" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_CustomerFourMember" name="CustomerFourMember" abstract="true" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_ContractAssetsMember" name="ContractAssetsMember" abstract="true" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_VendorOneMember" name="VendorOneMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_IncreaseDecreaseInLitigationSettlementObligation" name="IncreaseDecreaseInLitigationSettlementObligation" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_IncreaseDecreaseInLossReserve" name="IncreaseDecreaseInLossReserve" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_RepaymentsOfInsuranceFinancingObligation" name="RepaymentsOfInsuranceFinancingObligation" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_CashPaidDuringPeriodForAbstract" name="CashPaidDuringPeriodForAbstract" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_DisclosureContractAssetsAndLiabilitiesAbstract" name="DisclosureContractAssetsAndLiabilitiesAbstract" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_ContractWithCustomerAssetAndLiabilityTextBlock" name="ContractWithCustomerAssetAndLiabilityTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_DisclosureLeasesAbstract" name="DisclosureLeasesAbstract" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_ScheduleOfEstimatesAtCompletionAdjustmentsTableTextBlock" name="ScheduleOfEstimatesAtCompletionAdjustmentsTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_LesseeOperatingLeasesTableTextBlock" name="LesseeOperatingLeasesTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_EstimatesAtCompletionAdjustmentToGrossProfit" name="EstimatesAtCompletionAdjustmentToGrossProfit" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_MinimumDebtServiceCoverageRatio" name="MinimumDebtServiceCoverageRatio" nillable="true" xbrli:periodType="instant" type="xbrli:pureItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_MaximumLeverageRatio" name="MaximumLeverageRatio" nillable="true" xbrli:periodType="instant" type="xbrli:pureItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_NetIncomeRequiredUnderAgreement" name="NetIncomeRequiredUnderAgreement" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_MinimumAdjustedEbitda" name="MinimumAdjustedEbitda" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>6
<FILENAME>cvu-20240630_cal.xml
<DESCRIPTION>XBRL CALCULATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.23a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://cpiaero.com/role/Cover" xlink:href="cvu-20240630.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedBalanceSheets" xlink:href="cvu-20240630.xsd#CondensedConsolidatedBalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedBalanceSheetsParenthetical" xlink:href="cvu-20240630.xsd#CondensedConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations" xlink:href="cvu-20240630.xsd#CondensedConsolidatedStatementsOfOperations" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquity" xlink:href="cvu-20240630.xsd#CondensedConsolidatedStatementsOfShareholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows" xlink:href="cvu-20240630.xsd#CondensedConsolidatedStatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/InterimFinancialStatements" xlink:href="cvu-20240630.xsd#InterimFinancialStatements" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Revenue" xlink:href="cvu-20240630.xsd#Revenue" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ContractAssetsAndLiabilities" xlink:href="cvu-20240630.xsd#ContractAssetsAndLiabilities" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Inventory" xlink:href="cvu-20240630.xsd#Inventory" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Stock-basedCompensation" xlink:href="cvu-20240630.xsd#Stock-basedCompensation" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/NetIncomePerShare" xlink:href="cvu-20240630.xsd#NetIncomePerShare" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/LineOfCreditAndLong-termDebt" xlink:href="cvu-20240630.xsd#LineOfCreditAndLong-termDebt" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/MajorCustomersAndVendors" xlink:href="cvu-20240630.xsd#MajorCustomersAndVendors" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Leases" xlink:href="cvu-20240630.xsd#Leases" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/IncomeTaxes" xlink:href="cvu-20240630.xsd#IncomeTaxes" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CommitmentsAndContingencies" xlink:href="cvu-20240630.xsd#CommitmentsAndContingencies" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/InterimFinancialStatementsPolicies" xlink:href="cvu-20240630.xsd#InterimFinancialStatementsPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/RevenueTables" xlink:href="cvu-20240630.xsd#RevenueTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ContractAssetsAndLiabilitiesTables" xlink:href="cvu-20240630.xsd#ContractAssetsAndLiabilitiesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/InventoryTables" xlink:href="cvu-20240630.xsd#InventoryTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Stock-basedCompensationTables" xlink:href="cvu-20240630.xsd#Stock-basedCompensationTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/LineOfCreditAndLong-termDebtTables" xlink:href="cvu-20240630.xsd#LineOfCreditAndLong-termDebtTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/LeasesTables" xlink:href="cvu-20240630.xsd#LeasesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/InterimFinancialStatementsDetailsNarrative" xlink:href="cvu-20240630.xsd#InterimFinancialStatementsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails" xlink:href="cvu-20240630.xsd#FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/NetEacAdjustmentsHadFollowingImpactOnOurGrossProfitDuringSixMonthsEndedJune302024And2023Details" xlink:href="cvu-20240630.xsd#NetEacAdjustmentsHadFollowingImpactOnOurGrossProfitDuringSixMonthsEndedJune302024And2023Details" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/RevenueDetailsNarrative" xlink:href="cvu-20240630.xsd#RevenueDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ScheduleOfContractLiabilitiesAreClassifiedAsCurrentLiabilitiesDetails" xlink:href="cvu-20240630.xsd#ScheduleOfContractLiabilitiesAreClassifiedAsCurrentLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ContractAssetsAndLiabilitiesDetailsNarrative" xlink:href="cvu-20240630.xsd#ContractAssetsAndLiabilitiesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails" xlink:href="cvu-20240630.xsd#ComponentsOfInventoryConsistedOfFollowingDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails" xlink:href="cvu-20240630.xsd#Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusForSixMonthsEndedJune302024Details" xlink:href="cvu-20240630.xsd#FollowingTableSummarizesActivityRelatedToOutstandingRsusForSixMonthsEndedJune302024Details" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRestrictedStockAwardsForSixMonthsEndedJune302024Details" xlink:href="cvu-20240630.xsd#FollowingTableSummarizesActivityRelatedToOutstandingRestrictedStockAwardsForSixMonthsEndedJune302024Details" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingPrsasForSixMonthsEndedJune302024Details" xlink:href="cvu-20240630.xsd#FollowingTableSummarizesActivityRelatedToOutstandingPrsasForSixMonthsEndedJune302024Details" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative" xlink:href="cvu-20240630.xsd#Stock-basedCompensationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/NetIncomePerShareDetailsNarrative" xlink:href="cvu-20240630.xsd#NetIncomePerShareDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/MaturitiesOfJune302024BalanceOfTheseFinancingLeasesAreAsFollowsDetails" xlink:href="cvu-20240630.xsd#MaturitiesOfJune302024BalanceOfTheseFinancingLeasesAreAsFollowsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative" xlink:href="cvu-20240630.xsd#LineOfCreditAndLong-termDebtDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/MajorCustomersAndVendorsDetailsNarrative" xlink:href="cvu-20240630.xsd#MajorCustomersAndVendorsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302024WereAsFollowsDetails" xlink:href="cvu-20240630.xsd#FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302024WereAsFollowsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FollowingTableSetsForthRight-of-useAssetsAndOperatingLeaseLiabilitiesAsOfDetails" xlink:href="cvu-20240630.xsd#FollowingTableSetsForthRight-of-useAssetsAndOperatingLeaseLiabilitiesAsOfDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/LeasesDetailsNarrative" xlink:href="cvu-20240630.xsd#LeasesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/IncomeTaxesDetailsNarrative" xlink:href="cvu-20240630.xsd#IncomeTaxesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:href="cvu-20240630.xsd#CommitmentsAndContingenciesDetailsNarrative" xlink:type="simple" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Cover" xlink:title="00000001 - Document - Cover" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CondensedConsolidatedBalanceSheets" xlink:title="00000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Cash" xlink:label="loc_us-gaapCash" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapCash" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapAccountsReceivableNetCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="loc_us-gaapContractWithCustomerAssetNetCurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapContractWithCustomerAssetNetCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesReceivable" xlink:label="loc_us-gaapIncomeTaxesReceivable" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapIncomeTaxesReceivable" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrent" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapAssetsCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="loc_us-gaapDeferredIncomeTaxAssetsNet" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapDeferredIncomeTaxAssetsNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapGoodwill" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaapOtherAssetsNoncurrent" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapOtherAssetsNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapAccountsPayableCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccruedLiabilitiesCurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapAccruedLiabilitiesCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityCurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapContractWithCustomerLiabilityCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyAccrualCarryingValueCurrent" xlink:label="loc_us-gaapLossContingencyAccrualCarryingValueCurrent" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapLossContingencyAccrualCarryingValueCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaapLinesOfCreditCurrent" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapLinesOfCreditCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLongTermDebtCurrent" xlink:label="loc_us-gaapOtherLongTermDebtCurrent" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapOtherLongTermDebtCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxesPayableCurrent" xlink:label="loc_us-gaapTaxesPayableCurrent" />
      <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapTaxesPayableCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapLiabilitiesCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermLineOfCredit" xlink:label="loc_us-gaapLongTermLineOfCredit" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapLongTermLineOfCredit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLongTermDebtNoncurrent" xlink:label="loc_us-gaapOtherLongTermDebtNoncurrent" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapOtherLongTermDebtNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapCommonStockValue" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaapAdditionalPaidInCapitalCommonStock" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapAdditionalPaidInCapitalCommonStock" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapRetainedEarningsAccumulatedDeficit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquity" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaapLiabilities" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaapStockholdersEquity" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CondensedConsolidatedBalanceSheetsParenthetical" xlink:title="00000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations" xlink:title="00000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (UNAUDITED)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapGrossProfit" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfRevenue" xlink:label="loc_us-gaapCostOfRevenue" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapGrossProfit" xlink:to="loc_us-gaapCostOfRevenue" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingIncomeLoss" xlink:to="loc_us-gaapGrossProfit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaapSellingGeneralAndAdministrativeExpense" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingIncomeLoss" xlink:to="loc_us-gaapSellingGeneralAndAdministrativeExpense" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaapOperatingIncomeLoss" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaapInterestExpense" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaapInterestExpense" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" weight="-1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquity" xlink:title="00000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS&apos; EQUITY (UNAUDITED)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows" xlink:title="00000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="loc_us-gaapDepreciationDepletionAndAmortization" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapDepreciationDepletionAndAmortization" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="loc_us-gaapAmortizationOfFinancingCosts" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapAmortizationOfFinancingCosts" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapShareBasedCompensation" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="loc_us-gaapIncreaseDecreaseInDeferredIncomeTaxes" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInDeferredIncomeTaxes" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProvisionForLoanLeaseAndOtherLosses" xlink:label="loc_us-gaapProvisionForLoanLeaseAndOtherLosses" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapProvisionForLoanLeaseAndOtherLosses" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsReceivable" />
      <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsReceivable" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInsuranceSettlementsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInInsuranceSettlementsReceivable" />
      <link:calculationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInInsuranceSettlementsReceivable" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerAsset" />
      <link:calculationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInContractWithCustomerAsset" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
      <link:calculationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInInventories" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="loc_us-gaapIncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" />
      <link:calculationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
      <link:calculationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" />
      <link:calculationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_IncreaseDecreaseInLitigationSettlementObligation" xlink:label="loc_cvuIncreaseDecreaseInLitigationSettlementObligation" />
      <link:calculationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_cvuIncreaseDecreaseInLitigationSettlementObligation" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="loc_us-gaapIncreaseDecreaseInOperatingLeaseLiability" />
      <link:calculationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInOperatingLeaseLiability" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_IncreaseDecreaseInLossReserve" xlink:label="loc_cvuIncreaseDecreaseInLossReserve" />
      <link:calculationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_cvuIncreaseDecreaseInLossReserve" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" />
      <link:calculationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfLinesOfCredit" xlink:label="loc_us-gaapRepaymentsOfLinesOfCredit" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapRepaymentsOfLinesOfCredit" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="loc_us-gaapRepaymentsOfLongTermDebt" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapRepaymentsOfLongTermDebt" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_RepaymentsOfInsuranceFinancingObligation" xlink:label="loc_cvuRepaymentsOfInsuranceFinancingObligation" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_cvuRepaymentsOfInsuranceFinancingObligation" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="loc_us-gaapPaymentsOfDebtIssuanceCosts" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapPaymentsOfDebtIssuanceCosts" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:type="arc" weight="1" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/InterimFinancialStatements" xlink:title="00000007 - Disclosure - INTERIM FINANCIAL STATEMENTS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Revenue" xlink:title="00000008 - Disclosure - REVENUE" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ContractAssetsAndLiabilities" xlink:title="00000009 - Disclosure - CONTRACT ASSETS AND LIABILITIES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Inventory" xlink:title="00000010 - Disclosure - INVENTORY" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Stock-basedCompensation" xlink:title="00000011 - Disclosure - STOCK-BASED COMPENSATION" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/NetIncomePerShare" xlink:title="00000012 - Disclosure - NET INCOME PER SHARE" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/LineOfCreditAndLong-termDebt" xlink:title="00000013 - Disclosure - LINE OF CREDIT AND LONG-TERM DEBT" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/MajorCustomersAndVendors" xlink:title="00000014 - Disclosure - MAJOR CUSTOMERS AND VENDORS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Leases" xlink:title="00000015 - Disclosure - LEASES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/IncomeTaxes" xlink:title="00000016 - Disclosure - INCOME TAXES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CommitmentsAndContingencies" xlink:title="00000017 - Disclosure - COMMITMENTS AND CONTINGENCIES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/InterimFinancialStatementsPolicies" xlink:title="00000018 - Disclosure - INTERIM FINANCIAL STATEMENTS (Policies)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/RevenueTables" xlink:title="00000019 - Disclosure - REVENUE (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ContractAssetsAndLiabilitiesTables" xlink:title="00000020 - Disclosure - CONTRACT ASSETS AND LIABILITIES (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/InventoryTables" xlink:title="00000021 - Disclosure - INVENTORY (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Stock-basedCompensationTables" xlink:title="00000022 - Disclosure - STOCK-BASED COMPENSATION (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/LineOfCreditAndLong-termDebtTables" xlink:title="00000023 - Disclosure - LINE OF CREDIT AND LONG-TERM DEBT (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/LeasesTables" xlink:title="00000024 - Disclosure - LEASES (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/InterimFinancialStatementsDetailsNarrative" xlink:title="00000025 - Disclosure - INTERIM FINANCIAL STATEMENTS (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails" xlink:title="00000026 - Disclosure - The following tables present the Company&#8217;s revenue disaggregated by contract type and revenue recognition method: (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/NetEacAdjustmentsHadFollowingImpactOnOurGrossProfitDuringSixMonthsEndedJune302024And2023Details" xlink:title="00000027 - Disclosure - Net EAC adjustments had the following impact on our gross profit during the six months ended June 30, 2024 and 2023: (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/RevenueDetailsNarrative" xlink:title="00000028 - Disclosure - REVENUE (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ScheduleOfContractLiabilitiesAreClassifiedAsCurrentLiabilitiesDetails" xlink:title="00000029 - Disclosure - Schedule of Contract liabilities are classified as current liabilities (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ContractAssetsAndLiabilitiesDetailsNarrative" xlink:title="00000030 - Disclosure - CONTRACT ASSETS AND LIABILITIES (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails" xlink:title="00000031 - Disclosure - The components of inventory consisted of the following: (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterials" xlink:label="loc_us-gaapInventoryRawMaterials" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryNet" xlink:to="loc_us-gaapInventoryRawMaterials" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcess" xlink:label="loc_us-gaapInventoryWorkInProcess" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryNet" xlink:to="loc_us-gaapInventoryWorkInProcess" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoods" xlink:label="loc_us-gaapInventoryFinishedGoods" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryNet" xlink:to="loc_us-gaapInventoryFinishedGoods" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails" xlink:title="00000032 - Disclosure - Stock-based compensation expense for restricted stock in the consolidated statements of operations is summarized as follows: (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusForSixMonthsEndedJune302024Details" xlink:title="00000033 - Disclosure - The following table summarizes activity related to outstanding RSUs for the six months ended June 30, 2024: (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRestrictedStockAwardsForSixMonthsEndedJune302024Details" xlink:title="00000034 - Disclosure - The following table summarizes activity related to outstanding Restricted Stock Awards for the six months ended June 30, 2024: (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingPrsasForSixMonthsEndedJune302024Details" xlink:title="00000035 - Disclosure - The following table summarizes activity related to outstanding PRSAs for the six months ended June 30, 2024: (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative" xlink:title="00000036 - Disclosure - STOCK-BASED COMPENSATION (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/NetIncomePerShareDetailsNarrative" xlink:title="00000037 - Disclosure - NET INCOME PER SHARE (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/MaturitiesOfJune302024BalanceOfTheseFinancingLeasesAreAsFollowsDetails" xlink:title="00000038 - Disclosure - The maturities of the June 30, 2024 balance of these financing leases are as follows: (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="loc_us-gaapFinanceLeaseLiabilityPaymentsDue" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="loc_us-gaapFinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapFinanceLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaapFinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="loc_us-gaapFinanceLeaseLiabilityPaymentsDueNextTwelveMonths" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapFinanceLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaapFinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative" xlink:title="00000039 - Disclosure - LINE OF CREDIT AND LONG-TERM DEBT (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/MajorCustomersAndVendorsDetailsNarrative" xlink:title="00000040 - Disclosure - MAJOR CUSTOMERS AND VENDORS (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302024WereAsFollowsDetails" xlink:title="00000041 - Disclosure - Future minimum lease payments under non-cancellable operating leases as of June 30, 2024 were as follows: (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearFour" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/FollowingTableSetsForthRight-of-useAssetsAndOperatingLeaseLiabilitiesAsOfDetails" xlink:title="00000042 - Disclosure - The following table sets forth the right-of-use assets and operating lease liabilities as of: (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaapOperatingLeaseLiability" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingLeaseLiability" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingLeaseLiability" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/LeasesDetailsNarrative" xlink:title="00000043 - Disclosure - LEASES (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/IncomeTaxesDetailsNarrative" xlink:title="00000044 - Disclosure - INCOME TAXES (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:title="00000045 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details Narrative)" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>7
<FILENAME>cvu-20240630_def.xml
<DESCRIPTION>XBRL DEFINITION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.23a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://cpiaero.com/role/Cover" xlink:href="cvu-20240630.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedBalanceSheets" xlink:href="cvu-20240630.xsd#CondensedConsolidatedBalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedBalanceSheetsParenthetical" xlink:href="cvu-20240630.xsd#CondensedConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations" xlink:href="cvu-20240630.xsd#CondensedConsolidatedStatementsOfOperations" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquity" xlink:href="cvu-20240630.xsd#CondensedConsolidatedStatementsOfShareholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows" xlink:href="cvu-20240630.xsd#CondensedConsolidatedStatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/InterimFinancialStatements" xlink:href="cvu-20240630.xsd#InterimFinancialStatements" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Revenue" xlink:href="cvu-20240630.xsd#Revenue" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ContractAssetsAndLiabilities" xlink:href="cvu-20240630.xsd#ContractAssetsAndLiabilities" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Inventory" xlink:href="cvu-20240630.xsd#Inventory" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Stock-basedCompensation" xlink:href="cvu-20240630.xsd#Stock-basedCompensation" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/NetIncomePerShare" xlink:href="cvu-20240630.xsd#NetIncomePerShare" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/LineOfCreditAndLong-termDebt" xlink:href="cvu-20240630.xsd#LineOfCreditAndLong-termDebt" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/MajorCustomersAndVendors" xlink:href="cvu-20240630.xsd#MajorCustomersAndVendors" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Leases" xlink:href="cvu-20240630.xsd#Leases" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/IncomeTaxes" xlink:href="cvu-20240630.xsd#IncomeTaxes" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CommitmentsAndContingencies" xlink:href="cvu-20240630.xsd#CommitmentsAndContingencies" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/InterimFinancialStatementsPolicies" xlink:href="cvu-20240630.xsd#InterimFinancialStatementsPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/RevenueTables" xlink:href="cvu-20240630.xsd#RevenueTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ContractAssetsAndLiabilitiesTables" xlink:href="cvu-20240630.xsd#ContractAssetsAndLiabilitiesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/InventoryTables" xlink:href="cvu-20240630.xsd#InventoryTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Stock-basedCompensationTables" xlink:href="cvu-20240630.xsd#Stock-basedCompensationTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/LineOfCreditAndLong-termDebtTables" xlink:href="cvu-20240630.xsd#LineOfCreditAndLong-termDebtTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/LeasesTables" xlink:href="cvu-20240630.xsd#LeasesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/InterimFinancialStatementsDetailsNarrative" xlink:href="cvu-20240630.xsd#InterimFinancialStatementsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails" xlink:href="cvu-20240630.xsd#FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/NetEacAdjustmentsHadFollowingImpactOnOurGrossProfitDuringSixMonthsEndedJune302024And2023Details" xlink:href="cvu-20240630.xsd#NetEacAdjustmentsHadFollowingImpactOnOurGrossProfitDuringSixMonthsEndedJune302024And2023Details" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/RevenueDetailsNarrative" xlink:href="cvu-20240630.xsd#RevenueDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ScheduleOfContractLiabilitiesAreClassifiedAsCurrentLiabilitiesDetails" xlink:href="cvu-20240630.xsd#ScheduleOfContractLiabilitiesAreClassifiedAsCurrentLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ContractAssetsAndLiabilitiesDetailsNarrative" xlink:href="cvu-20240630.xsd#ContractAssetsAndLiabilitiesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails" xlink:href="cvu-20240630.xsd#ComponentsOfInventoryConsistedOfFollowingDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails" xlink:href="cvu-20240630.xsd#Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusForSixMonthsEndedJune302024Details" xlink:href="cvu-20240630.xsd#FollowingTableSummarizesActivityRelatedToOutstandingRsusForSixMonthsEndedJune302024Details" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRestrictedStockAwardsForSixMonthsEndedJune302024Details" xlink:href="cvu-20240630.xsd#FollowingTableSummarizesActivityRelatedToOutstandingRestrictedStockAwardsForSixMonthsEndedJune302024Details" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingPrsasForSixMonthsEndedJune302024Details" xlink:href="cvu-20240630.xsd#FollowingTableSummarizesActivityRelatedToOutstandingPrsasForSixMonthsEndedJune302024Details" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative" xlink:href="cvu-20240630.xsd#Stock-basedCompensationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/NetIncomePerShareDetailsNarrative" xlink:href="cvu-20240630.xsd#NetIncomePerShareDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/MaturitiesOfJune302024BalanceOfTheseFinancingLeasesAreAsFollowsDetails" xlink:href="cvu-20240630.xsd#MaturitiesOfJune302024BalanceOfTheseFinancingLeasesAreAsFollowsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative" xlink:href="cvu-20240630.xsd#LineOfCreditAndLong-termDebtDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/MajorCustomersAndVendorsDetailsNarrative" xlink:href="cvu-20240630.xsd#MajorCustomersAndVendorsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302024WereAsFollowsDetails" xlink:href="cvu-20240630.xsd#FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302024WereAsFollowsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FollowingTableSetsForthRight-of-useAssetsAndOperatingLeaseLiabilitiesAsOfDetails" xlink:href="cvu-20240630.xsd#FollowingTableSetsForthRight-of-useAssetsAndOperatingLeaseLiabilitiesAsOfDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/LeasesDetailsNarrative" xlink:href="cvu-20240630.xsd#LeasesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/IncomeTaxesDetailsNarrative" xlink:href="cvu-20240630.xsd#IncomeTaxesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:href="cvu-20240630.xsd#CommitmentsAndContingenciesDetailsNarrative" xlink:type="simple" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" arcroleURI="http://xbrl.org/int/dim/arcrole/all" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#notAll" arcroleURI="http://xbrl.org/int/dim/arcrole/notAll" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Cover" xlink:title="00000001 - Document - Cover" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CondensedConsolidatedBalanceSheets" xlink:title="00000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CondensedConsolidatedBalanceSheetsParenthetical" xlink:title="00000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations" xlink:title="00000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (UNAUDITED)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquity" xlink:title="00000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS&apos; EQUITY (UNAUDITED)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapCommonStockMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaapAdditionalPaidInCapitalMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapAdditionalPaidInCapitalMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaapRetainedEarningsMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapRetainedEarningsMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquity_50" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="loc_us-gaapCommonStockSharesOutstanding_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCommonStockSharesOutstanding_50" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetIncomeLoss_50" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueRestrictedStockAwardGross_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueRestrictedStockAwardGross_50" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesRestrictedStockAwardGross_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesRestrictedStockAwardGross_50" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_50" xlink:type="arc" order="6" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows" xlink:title="00000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/InterimFinancialStatements" xlink:title="00000007 - Disclosure - INTERIM FINANCIAL STATEMENTS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Revenue" xlink:title="00000008 - Disclosure - REVENUE" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ContractAssetsAndLiabilities" xlink:title="00000009 - Disclosure - CONTRACT ASSETS AND LIABILITIES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Inventory" xlink:title="00000010 - Disclosure - INVENTORY" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Stock-basedCompensation" xlink:title="00000011 - Disclosure - STOCK-BASED COMPENSATION" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/NetIncomePerShare" xlink:title="00000012 - Disclosure - NET INCOME PER SHARE" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/LineOfCreditAndLong-termDebt" xlink:title="00000013 - Disclosure - LINE OF CREDIT AND LONG-TERM DEBT" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/MajorCustomersAndVendors" xlink:title="00000014 - Disclosure - MAJOR CUSTOMERS AND VENDORS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Leases" xlink:title="00000015 - Disclosure - LEASES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/IncomeTaxes" xlink:title="00000016 - Disclosure - INCOME TAXES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CommitmentsAndContingencies" xlink:title="00000017 - Disclosure - COMMITMENTS AND CONTINGENCIES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/InterimFinancialStatementsPolicies" xlink:title="00000018 - Disclosure - INTERIM FINANCIAL STATEMENTS (Policies)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/RevenueTables" xlink:title="00000019 - Disclosure - REVENUE (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ContractAssetsAndLiabilitiesTables" xlink:title="00000020 - Disclosure - CONTRACT ASSETS AND LIABILITIES (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/InventoryTables" xlink:title="00000021 - Disclosure - INVENTORY (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Stock-basedCompensationTables" xlink:title="00000022 - Disclosure - STOCK-BASED COMPENSATION (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/LineOfCreditAndLong-termDebtTables" xlink:title="00000023 - Disclosure - LINE OF CREDIT AND LONG-TERM DEBT (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/LeasesTables" xlink:title="00000024 - Disclosure - LEASES (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/InterimFinancialStatementsDetailsNarrative" xlink:title="00000025 - Disclosure - INTERIM FINANCIAL STATEMENTS (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails" xlink:title="00000026 - Disclosure - The following tables present the Company&#8217;s revenue disaggregated by contract type and revenue recognition method: (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="loc_us-gaapDisaggregationOfRevenueLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="loc_us-gaapDisaggregationOfRevenueTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDisaggregationOfRevenueLineItems" xlink:to="loc_us-gaapDisaggregationOfRevenueTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_srtProductOrServiceAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_GovernmentSubcontractsMember" xlink:label="loc_cvuGovernmentSubcontractsMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_cvuGovernmentSubcontractsMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_PrimeGovernmentContractsMember" xlink:label="loc_cvuPrimeGovernmentContractsMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_cvuPrimeGovernmentContractsMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_CommercialContractsMember" xlink:label="loc_cvuCommercialContractsMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_cvuCommercialContractsMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="loc_us-gaapTimingOfTransferOfGoodOrServiceAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_us-gaapTimingOfTransferOfGoodOrServiceAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapTimingOfTransferOfGoodOrServiceAxis" xlink:to="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapTimingOfTransferOfGoodOrServiceAxis" xlink:to="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TransferredOverTimeMember" xlink:label="loc_us-gaapTransferredOverTimeMember_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain" xlink:to="loc_us-gaapTransferredOverTimeMember_160" xlink:type="arc" order="161" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TransferredAtPointInTimeMember" xlink:label="loc_us-gaapTransferredAtPointInTimeMember_200" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain" xlink:to="loc_us-gaapTransferredAtPointInTimeMember_200" xlink:type="arc" order="201" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_250" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDisaggregationOfRevenueLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_250" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/NetEacAdjustmentsHadFollowingImpactOnOurGrossProfitDuringSixMonthsEndedJune302024And2023Details" xlink:title="00000027 - Disclosure - Net EAC adjustments had the following impact on our gross profit during the six months ended June 30, 2024 and 2023: (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:label="loc_srtCumulativeEffectPeriodOfAdoptionAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtCumulativeEffectPeriodOfAdoptionAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:label="loc_srtCumulativeEffectPeriodOfAdoptionDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtCumulativeEffectPeriodOfAdoptionAxis" xlink:to="loc_srtCumulativeEffectPeriodOfAdoptionDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:label="loc_srtCumulativeEffectPeriodOfAdoptionDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtCumulativeEffectPeriodOfAdoptionAxis" xlink:to="loc_srtCumulativeEffectPeriodOfAdoptionDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_FavorableAdjustmentMember" xlink:label="loc_cvuFavorableAdjustmentMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtCumulativeEffectPeriodOfAdoptionDomain" xlink:to="loc_cvuFavorableAdjustmentMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_UnfavorableAdjustmentMember" xlink:label="loc_cvuUnfavorableAdjustmentMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtCumulativeEffectPeriodOfAdoptionDomain" xlink:to="loc_cvuUnfavorableAdjustmentMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_EstimatesAtCompletionAdjustmentToGrossProfit" xlink:label="loc_cvuEstimatesAtCompletionAdjustmentToGrossProfit_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_cvuEstimatesAtCompletionAdjustmentToGrossProfit_70" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/RevenueDetailsNarrative" xlink:title="00000028 - Disclosure - REVENUE (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ScheduleOfContractLiabilitiesAreClassifiedAsCurrentLiabilitiesDetails" xlink:title="00000029 - Disclosure - Schedule of Contract liabilities are classified as current liabilities (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ContractAssetsAndLiabilitiesDetailsNarrative" xlink:title="00000030 - Disclosure - CONTRACT ASSETS AND LIABILITIES (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails" xlink:title="00000031 - Disclosure - The components of inventory consisted of the following: (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails" xlink:title="00000032 - Disclosure - Stock-based compensation expense for restricted stock in the consolidated statements of operations is summarized as follows: (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="loc_us-gaapScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="loc_us-gaapScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaapIncomeStatementLocationAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="loc_us-gaapIncomeStatementLocationAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaapIncomeStatementLocationDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapIncomeStatementLocationAxis" xlink:to="loc_us-gaapIncomeStatementLocationDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaapIncomeStatementLocationDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapIncomeStatementLocationAxis" xlink:to="loc_us-gaapIncomeStatementLocationDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfSalesMember" xlink:label="loc_us-gaapCostOfSalesMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapIncomeStatementLocationDomain" xlink:to="loc_us-gaapCostOfSalesMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="loc_us-gaapSellingGeneralAndAdministrativeExpensesMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapIncomeStatementLocationDomain" xlink:to="loc_us-gaapSellingGeneralAndAdministrativeExpensesMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaapAllocatedShareBasedCompensationExpense_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="loc_us-gaapAllocatedShareBasedCompensationExpense_130" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusForSixMonthsEndedJune302024Details" xlink:title="00000033 - Disclosure - The following table summarizes activity related to outstanding RSUs for the six months ended June 30, 2024: (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaapRestrictedStockUnitsRSUMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapRestrictedStockUnitsRSUMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_40" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_40" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_40" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_40" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_40" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_40" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_40" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_40" xlink:type="arc" order="7" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRestrictedStockAwardsForSixMonthsEndedJune302024Details" xlink:title="00000034 - Disclosure - The following table summarizes activity related to outstanding Restricted Stock Awards for the six months ended June 30, 2024: (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockMember" xlink:label="loc_us-gaapRestrictedStockMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapRestrictedStockMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_40" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_40" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_40" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_40" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_40" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_40" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_40" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_40" xlink:type="arc" order="7" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingPrsasForSixMonthsEndedJune302024Details" xlink:title="00000035 - Disclosure - The following table summarizes activity related to outstanding PRSAs for the six months ended June 30, 2024: (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PerformanceSharesMember" xlink:label="loc_us-gaapPerformanceSharesMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapPerformanceSharesMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_40" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_40" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_40" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_40" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_40" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_40" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_40" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_40" xlink:type="arc" order="7" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative" xlink:title="00000036 - Disclosure - STOCK-BASED COMPENSATION (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaapPlanNameAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapPlanNameAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_PerformanceEquityPlan2009Member" xlink:label="loc_cvuPerformanceEquityPlan2009Member_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_cvuPerformanceEquityPlan2009Member_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_LTIP2016Member" xlink:label="loc_cvuLTIP2016Member_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_cvuLTIP2016Member_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaapEmployeeStockOptionMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapEmployeeStockOptionMember_30" xlink:type="arc" order="32" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaapRestrictedStockUnitsRSUMember_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapRestrictedStockUnitsRSUMember_90" xlink:type="arc" order="91" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockMember" xlink:label="loc_us-gaapRestrictedStockMember_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapRestrictedStockMember_100" xlink:type="arc" order="101" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PerformanceSharesMember" xlink:label="loc_us-gaapPerformanceSharesMember_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapPerformanceSharesMember_120" xlink:type="arc" order="121" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtRangeAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember_100" xlink:type="arc" order="102" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VestingAxis" xlink:label="loc_us-gaapVestingAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapVestingAxis" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VestingDomain" xlink:label="loc_us-gaapVestingDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapVestingAxis" xlink:to="loc_us-gaapVestingDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VestingDomain" xlink:label="loc_us-gaapVestingDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapVestingAxis" xlink:to="loc_us-gaapVestingDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:label="loc_us-gaapShareBasedCompensationAwardTrancheOneMember_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapVestingDomain" xlink:to="loc_us-gaapShareBasedCompensationAwardTrancheOneMember_120" xlink:type="arc" order="122" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:label="loc_us-gaapShareBasedCompensationAwardTrancheTwoMember_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapVestingDomain" xlink:to="loc_us-gaapShareBasedCompensationAwardTrancheTwoMember_130" xlink:type="arc" order="132" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_170" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_170" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized_170" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_170" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_170" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_170" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_170" xlink:type="arc" order="6" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/NetIncomePerShareDetailsNarrative" xlink:title="00000037 - Disclosure - NET INCOME PER SHARE (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/MaturitiesOfJune302024BalanceOfTheseFinancingLeasesAreAsFollowsDetails" xlink:title="00000038 - Disclosure - The maturities of the June 30, 2024 balance of these financing leases are as follows: (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative" xlink:title="00000039 - Disclosure - LINE OF CREDIT AND LONG-TERM DEBT (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="loc_us-gaapLineOfCreditFacilityLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="loc_us-gaapLineOfCreditFacilityTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="loc_us-gaapLineOfCreditFacilityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapLineOfCreditFacilityAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="loc_us-gaapLineOfCreditFacilityLenderDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapLineOfCreditFacilityAxis" xlink:to="loc_us-gaapLineOfCreditFacilityLenderDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="loc_us-gaapLineOfCreditFacilityLenderDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapLineOfCreditFacilityAxis" xlink:to="loc_us-gaapLineOfCreditFacilityLenderDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_BankUnitedMember" xlink:label="loc_cvuBankUnitedMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLenderDomain" xlink:to="loc_cvuBankUnitedMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis" xlink:label="loc_us-gaapCreditFacilityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapCreditFacilityAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="loc_us-gaapCreditFacilityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapCreditFacilityAxis" xlink:to="loc_us-gaapCreditFacilityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="loc_us-gaapCreditFacilityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapCreditFacilityAxis" xlink:to="loc_us-gaapCreditFacilityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="loc_us-gaapRevolvingCreditFacilityMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapCreditFacilityDomain" xlink:to="loc_us-gaapRevolvingCreditFacilityMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_TermLoanMember" xlink:label="loc_cvuTermLoanMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapCreditFacilityDomain" xlink:to="loc_cvuTermLoanMember_10" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_RevolvingLoanMember" xlink:label="loc_cvuRevolvingLoanMember_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapCreditFacilityDomain" xlink:to="loc_cvuRevolvingLoanMember_130" xlink:type="arc" order="132" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="loc_us-gaapDebtInstrumentAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapDebtInstrumentAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaapDebtInstrumentNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapDebtInstrumentAxis" xlink:to="loc_us-gaapDebtInstrumentNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaapDebtInstrumentNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDebtInstrumentAxis" xlink:to="loc_us-gaapDebtInstrumentNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_PeriodOneMember" xlink:label="loc_cvuPeriodOneMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_cvuPeriodOneMember_30" xlink:type="arc" order="33" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_PeriodTwoMember" xlink:label="loc_cvuPeriodTwoMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_cvuPeriodTwoMember_40" xlink:type="arc" order="43" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_PeriodThreeMember" xlink:label="loc_cvuPeriodThreeMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_cvuPeriodThreeMember_50" xlink:type="arc" order="53" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_PeriodFourMember" xlink:label="loc_cvuPeriodFourMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_cvuPeriodFourMember_60" xlink:type="arc" order="63" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_PeriodFiveMember" xlink:label="loc_cvuPeriodFiveMember_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_cvuPeriodFiveMember_70" xlink:type="arc" order="73" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_PeriodSixMember" xlink:label="loc_cvuPeriodSixMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_cvuPeriodSixMember_80" xlink:type="arc" order="83" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_PeriodSevenMember" xlink:label="loc_cvuPeriodSevenMember_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_cvuPeriodSevenMember_90" xlink:type="arc" order="93" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_srtRangeAxis" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember_110" xlink:type="arc" order="112" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity_220" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="loc_us-gaapDebtInstrumentFaceAmount_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentFaceAmount_220" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityExpirationDate1" xlink:label="loc_us-gaapLineOfCreditFacilityExpirationDate1_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityExpirationDate1_220" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_MinimumDebtServiceCoverageRatio" xlink:label="loc_cvuMinimumDebtServiceCoverageRatio_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_cvuMinimumDebtServiceCoverageRatio_220" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_MaximumLeverageRatio" xlink:label="loc_cvuMaximumLeverageRatio_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_cvuMaximumLeverageRatio_220" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_NetIncomeRequiredUnderAgreement" xlink:label="loc_cvuNetIncomeRequiredUnderAgreement_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_cvuNetIncomeRequiredUnderAgreement_220" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_MinimumAdjustedEbitda" xlink:label="loc_cvuMinimumAdjustedEbitda_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_cvuMinimumAdjustedEbitda_220" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="loc_us-gaapDebtInstrumentBasisSpreadOnVariableRate1_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentBasisSpreadOnVariableRate1_220" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaapDebtInstrumentInterestRateStatedPercentage_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentInterestRateStatedPercentage_220" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtPercentageBearingVariableInterestRate" xlink:label="loc_us-gaapLongTermDebtPercentageBearingVariableInterestRate_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLongTermDebtPercentageBearingVariableInterestRate_220" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCredit" xlink:label="loc_us-gaapLineOfCredit_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCredit_220" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaapLinesOfCreditCurrent_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLinesOfCreditCurrent_220" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermLineOfCredit" xlink:label="loc_us-gaapLongTermLineOfCredit_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLongTermLineOfCredit_220" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="loc_us-gaapPaymentsOfDebtIssuanceCosts_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapPaymentsOfDebtIssuanceCosts_220" xlink:type="arc" order="13" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFinanceCostsNoncurrentNet" xlink:label="loc_us-gaapDeferredFinanceCostsNoncurrentNet_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDeferredFinanceCostsNoncurrentNet_220" xlink:type="arc" order="14" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiability" xlink:label="loc_us-gaapFinanceLeaseLiability_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapFinanceLeaseLiability_220" xlink:type="arc" order="15" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="loc_us-gaapFinanceLeaseLiabilityCurrent_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapFinanceLeaseLiabilityCurrent_220" xlink:type="arc" order="16" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/MajorCustomersAndVendorsDetailsNarrative" xlink:title="00000040 - Disclosure - MAJOR CUSTOMERS AND VENDORS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="loc_us-gaapConcentrationRiskLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTable" xlink:label="loc_us-gaapConcentrationRiskTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConcentrationRiskLineItems" xlink:to="loc_us-gaapConcentrationRiskTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaapConcentrationRiskByBenchmarkAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapConcentrationRiskTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="loc_us-gaapSalesRevenueNetMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapSalesRevenueNetMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapAccountsReceivableMember_130" xlink:type="arc" order="131" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_ContractAssetsMember" xlink:label="loc_cvuContractAssetsMember_210" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_cvuContractAssetsMember_210" xlink:type="arc" order="211" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableMember" xlink:label="loc_us-gaapAccountsPayableMember_280" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapAccountsPayableMember_280" xlink:type="arc" order="281" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaapConcentrationRiskByTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapConcentrationRiskTable" xlink:to="loc_us-gaapConcentrationRiskByTypeAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis" xlink:to="loc_us-gaapConcentrationRiskTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis" xlink:to="loc_us-gaapConcentrationRiskTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="loc_us-gaapCustomerConcentrationRiskMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskTypeDomain" xlink:to="loc_us-gaapCustomerConcentrationRiskMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="loc_srtMajorCustomersAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapConcentrationRiskTable" xlink:to="loc_srtMajorCustomersAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srtNameOfMajorCustomerDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtMajorCustomersAxis" xlink:to="loc_srtNameOfMajorCustomerDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srtNameOfMajorCustomerDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtMajorCustomersAxis" xlink:to="loc_srtNameOfMajorCustomerDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_CustomerOneMember" xlink:label="loc_cvuCustomerOneMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_cvuCustomerOneMember_0" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_CustomerTwoMember" xlink:label="loc_cvuCustomerTwoMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_cvuCustomerTwoMember_10" xlink:type="arc" order="13" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_CustomerThreeMember" xlink:label="loc_cvuCustomerThreeMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_cvuCustomerThreeMember_20" xlink:type="arc" order="23" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_CustomerFourMember" xlink:label="loc_cvuCustomerFourMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_cvuCustomerFourMember_30" xlink:type="arc" order="33" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_VendorOneMember" xlink:label="loc_cvuVendorOneMember_280" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_cvuVendorOneMember_280" xlink:type="arc" order="283" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="loc_us-gaapConcentrationRiskPercentage1_300" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskLineItems" xlink:to="loc_us-gaapConcentrationRiskPercentage1_300" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302024WereAsFollowsDetails" xlink:title="00000041 - Disclosure - Future minimum lease payments under non-cancellable operating leases as of June 30, 2024 were as follows: (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/FollowingTableSetsForthRight-of-useAssetsAndOperatingLeaseLiabilitiesAsOfDetails" xlink:title="00000042 - Disclosure - The following table sets forth the right-of-use assets and operating lease liabilities as of: (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/LeasesDetailsNarrative" xlink:title="00000043 - Disclosure - LEASES (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/IncomeTaxesDetailsNarrative" xlink:title="00000044 - Disclosure - INCOME TAXES (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:title="00000045 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details Narrative)" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>8
<FILENAME>cvu-20240630_lab.xml
<DESCRIPTION>XBRL LABEL FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.23a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" roleURI="http://www.xbrl.org/2009/role/netLabel" />
    <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xml:lang="en-US">Equity Components [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockMember_lbl" xml:lang="en-US">Common Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsMember_lbl" xml:lang="en-US">Retained Earnings [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ProductOrServiceAxis_lbl" xml:lang="en-US">Product and Service [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_GovernmentSubcontractsMember" xlink:label="cvu_GovernmentSubcontractsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_GovernmentSubcontractsMember" xlink:to="cvu_GovernmentSubcontractsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_GovernmentSubcontractsMember_lbl" xml:lang="en-US">Government subcontracts [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_PrimeGovernmentContractsMember" xlink:label="cvu_PrimeGovernmentContractsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_PrimeGovernmentContractsMember" xlink:to="cvu_PrimeGovernmentContractsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_PrimeGovernmentContractsMember_lbl" xml:lang="en-US">Prime government contracts [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_CommercialContractsMember" xlink:label="cvu_CommercialContractsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_CommercialContractsMember" xlink:to="cvu_CommercialContractsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_CommercialContractsMember_lbl" xml:lang="en-US">Commercial contracts [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis_lbl" xml:lang="en-US">Timing of Transfer of Good or Service [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TransferredOverTimeMember" xlink:label="us-gaap_TransferredOverTimeMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TransferredOverTimeMember" xlink:to="us-gaap_TransferredOverTimeMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TransferredOverTimeMember_lbl" xml:lang="en-US">Transferred over Time [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TransferredAtPointInTimeMember" xlink:label="us-gaap_TransferredAtPointInTimeMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TransferredAtPointInTimeMember" xlink:to="us-gaap_TransferredAtPointInTimeMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TransferredAtPointInTimeMember_lbl" xml:lang="en-US">Transferred at Point in Time [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:to="srt_CumulativeEffectPeriodOfAdoptionAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAxis_lbl" xml:lang="en-US">Cumulative Effect, Period of Adoption [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_FavorableAdjustmentMember" xlink:label="cvu_FavorableAdjustmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_FavorableAdjustmentMember" xlink:to="cvu_FavorableAdjustmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_FavorableAdjustmentMember_lbl" xml:lang="en-US">Favorable adjustments [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_UnfavorableAdjustmentMember" xlink:label="cvu_UnfavorableAdjustmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_UnfavorableAdjustmentMember" xlink:to="cvu_UnfavorableAdjustmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_UnfavorableAdjustmentMember_lbl" xml:lang="en-US">Unfavorable adjustments [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameAxis_lbl" xlink:type="arc" />
      <link: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]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_PerformanceEquityPlan2009Member" xlink:label="cvu_PerformanceEquityPlan2009Member" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_PerformanceEquityPlan2009Member" xlink:to="cvu_PerformanceEquityPlan2009Member_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_PerformanceEquityPlan2009Member_lbl" xml:lang="en-US">Performance Equity Plan 2009 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_LTIP2016Member" xlink:label="cvu_LTIP2016Member" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_LTIP2016Member" xlink:to="cvu_LTIP2016Member_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_LTIP2016Member_lbl" xml:lang="en-US">Long Term Incentive Plan 2016 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_AwardTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AwardTypeAxis_lbl" xml:lang="en-US">Award Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOptionMember" xlink:to="us-gaap_EmployeeStockOptionMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeStockOptionMember_lbl" xml:lang="en-US">Share-Based Payment Arrangement, Option [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xml:lang="en-US">Restricted Stock Units (RSUs) [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockMember" xlink:to="us-gaap_RestrictedStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedStockMember_lbl" xml:lang="en-US">Restricted Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis_lbl" xlink:type="arc" />
      <link: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]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MaximumMember_lbl" xml:lang="en-US">Maximum [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PerformanceSharesMember" xlink:to="us-gaap_PerformanceSharesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PerformanceSharesMember_lbl" xml:lang="en-US">Performance Shares [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VestingAxis" xlink:label="us-gaap_VestingAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VestingAxis" xlink:to="us-gaap_VestingAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VestingAxis_lbl" xml:lang="en-US">Vesting [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheOneMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheOneMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheOneMember_lbl" xml:lang="en-US">Share-Based Payment Arrangement, Tranche One [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheTwoMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheTwoMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheTwoMember_lbl" xml:lang="en-US">Share-Based Payment Arrangement, Tranche Two [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementLocationAxis_lbl" xml:lang="en-US">Statement of Income Location, Balance [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfSalesMember" xlink:to="us-gaap_CostOfSalesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfSalesMember_lbl" xml:lang="en-US">Cost of Sales [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember_lbl" xml:lang="en-US">Selling, General and Administrative Expenses [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityAxis_lbl" xml:lang="en-US">Lender Name [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_BankUnitedMember" xlink:label="cvu_BankUnitedMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_BankUnitedMember" xlink:to="cvu_BankUnitedMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_BankUnitedMember_lbl" xml:lang="en-US">Bank United [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditFacilityAxis_lbl" xml:lang="en-US">Credit Facility [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevolvingCreditFacilityMember" xlink:to="us-gaap_RevolvingCreditFacilityMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevolvingCreditFacilityMember_lbl" xml:lang="en-US">Revolving Credit Facility [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_TermLoanMember" xlink:label="cvu_TermLoanMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_TermLoanMember" xlink:to="cvu_TermLoanMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_TermLoanMember_lbl" xml:lang="en-US">Term loan [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentAxis_lbl" xml:lang="en-US">Debt Instrument [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_PeriodOneMember" xlink:label="cvu_PeriodOneMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_PeriodOneMember" xlink:to="cvu_PeriodOneMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_PeriodOneMember_lbl" xml:lang="en-US">Period One [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_PeriodTwoMember" xlink:label="cvu_PeriodTwoMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_PeriodTwoMember" xlink:to="cvu_PeriodTwoMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_PeriodTwoMember_lbl" xml:lang="en-US">Period Two [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_PeriodThreeMember" xlink:label="cvu_PeriodThreeMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_PeriodThreeMember" xlink:to="cvu_PeriodThreeMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_PeriodThreeMember_lbl" xml:lang="en-US">Period Three [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_PeriodFourMember" xlink:label="cvu_PeriodFourMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_PeriodFourMember" xlink:to="cvu_PeriodFourMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_PeriodFourMember_lbl" xml:lang="en-US">Period Four [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_PeriodFiveMember" xlink:label="cvu_PeriodFiveMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_PeriodFiveMember" xlink:to="cvu_PeriodFiveMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_PeriodFiveMember_lbl" xml:lang="en-US">Period Five [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_PeriodSixMember" xlink:label="cvu_PeriodSixMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_PeriodSixMember" xlink:to="cvu_PeriodSixMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_PeriodSixMember_lbl" xml:lang="en-US">Period Six [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_PeriodSevenMember" xlink:label="cvu_PeriodSevenMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_PeriodSevenMember" xlink:to="cvu_PeriodSevenMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_PeriodSevenMember_lbl" xml:lang="en-US">Period Seven [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MinimumMember_lbl" xml:lang="en-US">Minimum [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_RevolvingLoanMember" xlink:label="cvu_RevolvingLoanMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_RevolvingLoanMember" xlink:to="cvu_RevolvingLoanMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_RevolvingLoanMember_lbl" xml:lang="en-US">Revolving Loan [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xlink:type="arc" />
      <link: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]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SalesRevenueNetMember_lbl" xml:lang="en-US">Revenue Benchmark [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_lbl" xlink:type="arc" />
      <link: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]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerConcentrationRiskMember" xlink:to="us-gaap_CustomerConcentrationRiskMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl" xml:lang="en-US">Customer Concentration Risk [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MajorCustomersAxis_lbl" xml:lang="en-US">Customer [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_CustomerOneMember" xlink:label="cvu_CustomerOneMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_CustomerOneMember" xlink:to="cvu_CustomerOneMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_CustomerOneMember_lbl" xml:lang="en-US">Customer One [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_CustomerTwoMember" xlink:label="cvu_CustomerTwoMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_CustomerTwoMember" xlink:to="cvu_CustomerTwoMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_CustomerTwoMember_lbl" xml:lang="en-US">Customer Two [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_CustomerThreeMember" xlink:label="cvu_CustomerThreeMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_CustomerThreeMember" xlink:to="cvu_CustomerThreeMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_CustomerThreeMember_lbl" xml:lang="en-US">Customer Three [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_CustomerFourMember" xlink:label="cvu_CustomerFourMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_CustomerFourMember" xlink:to="cvu_CustomerFourMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_CustomerFourMember_lbl" xml:lang="en-US">Customer Four [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableMember_lbl" xml:lang="en-US">Accounts Receivable [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_ContractAssetsMember" xlink:label="cvu_ContractAssetsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_ContractAssetsMember" xlink:to="cvu_ContractAssetsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_ContractAssetsMember_lbl" xml:lang="en-US">Contract Assets [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableMember" xlink:label="us-gaap_AccountsPayableMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableMember" xlink:to="us-gaap_AccountsPayableMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableMember_lbl" xml:lang="en-US">Accounts Payable [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_VendorOneMember" xlink:label="cvu_VendorOneMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_VendorOneMember" xlink:to="cvu_VendorOneMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_VendorOneMember_lbl" xml:lang="en-US">Vendor One [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CoverAbstract_lbl" xml:lang="en-US">Cover [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType" xlink:label="dei_DocumentType" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentType_lbl" xml:lang="en-US">Document Type</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentFlag_lbl" xml:lang="en-US">Amendment Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentDescription" xlink:label="dei_AmendmentDescription" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentDescription" xlink:to="dei_AmendmentDescription_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentDescription_lbl" xml:lang="en-US">Amendment Description</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentRegistrationStatement" xlink:label="dei_DocumentRegistrationStatement" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentRegistrationStatement" xlink:to="dei_DocumentRegistrationStatement_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentRegistrationStatement_lbl" xml:lang="en-US">Document Registration Statement</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAnnualReport" xlink:to="dei_DocumentAnnualReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAnnualReport_lbl" xml:lang="en-US">Document Annual Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentQuarterlyReport" xlink:to="dei_DocumentQuarterlyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentQuarterlyReport_lbl" xml:lang="en-US">Document Quarterly Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentTransitionReport_lbl" xml:lang="en-US">Document Transition Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentShellCompanyReport" xlink:label="dei_DocumentShellCompanyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyReport" xlink:to="dei_DocumentShellCompanyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyReport_lbl" xml:lang="en-US">Document Shell Company Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentShellCompanyEventDate" xlink:label="dei_DocumentShellCompanyEventDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyEventDate" xlink:to="dei_DocumentShellCompanyEventDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyEventDate_lbl" xml:lang="en-US">Document Shell Company Event Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodStartDate" xlink:label="dei_DocumentPeriodStartDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodStartDate" xlink:to="dei_DocumentPeriodStartDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodStartDate_lbl" xml:lang="en-US">Document Period Start Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodEndDate_lbl" xml:lang="en-US">Document Period End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xml:lang="en-US">Document Fiscal Period Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalYearFocus_lbl" xml:lang="en-US">Document Fiscal Year Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xml:lang="en-US">Current Fiscal Year End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFileNumber_lbl" xml:lang="en-US">Entity File Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityRegistrantName_lbl" xml:lang="en-US">Entity Registrant Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCentralIndexKey_lbl" xml:lang="en-US">Entity Central Index Key</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityPrimarySicNumber" xlink:label="dei_EntityPrimarySicNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPrimarySicNumber" xlink:to="dei_EntityPrimarySicNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPrimarySicNumber_lbl" xml:lang="en-US">Entity Primary SIC Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xml:lang="en-US">Entity Tax Identification Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine1_lbl" xml:lang="en-US">Entity Address, Address Line One</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine2" xlink:to="dei_EntityAddressAddressLine2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine2_lbl" xml:lang="en-US">Entity Address, Address Line Two</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine3" xlink:label="dei_EntityAddressAddressLine3" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine3" xlink:to="dei_EntityAddressAddressLine3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine3_lbl" xml:lang="en-US">Entity Address, Address Line Three</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US">Entity Address, City or Town</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressStateOrProvince_lbl" xml:lang="en-US">Entity Address, State or Province</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCountry" xlink:label="dei_EntityAddressCountry" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCountry" xlink:to="dei_EntityAddressCountry_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCountry_lbl" xml:lang="en-US">Entity Address, Country</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressPostalZipCode_lbl" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CountryRegion" xlink:label="dei_CountryRegion" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CountryRegion" xlink:to="dei_CountryRegion_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CountryRegion_lbl" xml:lang="en-US">Country Region</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CityAreaCode_lbl" xml:lang="en-US">City Area Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LocalPhoneNumber_lbl" xml:lang="en-US">Local Phone Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Extension" xlink:label="dei_Extension" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Extension" xlink:to="dei_Extension_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Extension_lbl" xml:lang="en-US">Extension</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_WrittenCommunications" xlink:to="dei_WrittenCommunications_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_WrittenCommunications_lbl" xml:lang="en-US">Written Communications</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SolicitingMaterial" xlink:to="dei_SolicitingMaterial_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SolicitingMaterial_lbl" xml:lang="en-US">Soliciting Material</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementTenderOffer" xlink:to="dei_PreCommencementTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementTenderOffer_lbl" xml:lang="en-US">Pre-commencement Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementIssuerTenderOffer" xlink:to="dei_PreCommencementIssuerTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementIssuerTenderOffer_lbl" xml:lang="en-US">Pre-commencement Issuer Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12bTitle_lbl" xml:lang="en-US">Title of 12(b) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_NoTradingSymbolFlag" xlink:label="dei_NoTradingSymbolFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_NoTradingSymbolFlag" xlink:to="dei_NoTradingSymbolFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_NoTradingSymbolFlag_lbl" xml:lang="en-US">No Trading Symbol Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_TradingSymbol_lbl" xml:lang="en-US">Trading Symbol</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityExchangeName_lbl" xml:lang="en-US">Security Exchange Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12gTitle" xlink:label="dei_Security12gTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12gTitle" xlink:to="dei_Security12gTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12gTitle_lbl" xml:lang="en-US">Title of 12(g) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityReportingObligation" xlink:label="dei_SecurityReportingObligation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityReportingObligation" xlink:to="dei_SecurityReportingObligation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityReportingObligation_lbl" xml:lang="en-US">Security Reporting Obligation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AnnualInformationForm" xlink:label="dei_AnnualInformationForm" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AnnualInformationForm" xlink:to="dei_AnnualInformationForm_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AnnualInformationForm_lbl" xml:lang="en-US">Annual Information Form</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="dei_AuditedAnnualFinancialStatements" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditedAnnualFinancialStatements" xlink:to="dei_AuditedAnnualFinancialStatements_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditedAnnualFinancialStatements_lbl" xml:lang="en-US">Audited Annual Financial Statements</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityWellKnownSeasonedIssuer_lbl" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityVoluntaryFilers_lbl" xml:lang="en-US">Entity Voluntary Filers</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCurrentReportingStatus_lbl" xml:lang="en-US">Entity Current Reporting Status</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xml:lang="en-US">Entity Interactive Data Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFilerCategory_lbl" xml:lang="en-US">Entity Filer Category</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntitySmallBusiness_lbl" xml:lang="en-US">Entity Small Business</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xml:lang="en-US">Entity Emerging Growth Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityExTransitionPeriod" xlink:label="dei_EntityExTransitionPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityExTransitionPeriod" xlink:to="dei_EntityExTransitionPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityExTransitionPeriod_lbl" xml:lang="en-US">Elected Not To Use the Extended Transition Period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentAccountingStandard" xlink:label="dei_DocumentAccountingStandard" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAccountingStandard" xlink:to="dei_DocumentAccountingStandard_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAccountingStandard_lbl" xml:lang="en-US">Document Accounting Standard</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_OtherReportingStandardItemNumber" xlink:label="dei_OtherReportingStandardItemNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_OtherReportingStandardItemNumber" xlink:to="dei_OtherReportingStandardItemNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_OtherReportingStandardItemNumber_lbl" xml:lang="en-US">Other Reporting Standard Item Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityShellCompany_lbl" xml:lang="en-US">Entity Shell Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPublicFloat" xlink:to="dei_EntityPublicFloat_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPublicFloat_lbl" xml:lang="en-US">Entity Public Float</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityBankruptcyProceedingsReportingCurrent" xlink:to="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xml:lang="en-US">Entity Bankruptcy Proceedings, Reporting Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentsIncorporatedByReferenceTextBlock" xlink:to="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xml:lang="en-US">Documents Incorporated by Reference [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US">ASSETS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US">Current Assets:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Cash" xlink:to="us-gaap_Cash_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Cash_lbl" xml:lang="en-US">Cash</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US">Accounts receivable, net of allowance for credit losses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetNetCurrent" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xml:lang="en-US">Contract assets, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryNet_lbl" xml:lang="en-US">Inventory</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesReceivable" xlink:label="us-gaap_IncomeTaxesReceivable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesReceivable" xlink:to="us-gaap_IncomeTaxesReceivable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxesReceivable_lbl" xml:lang="en-US">Refundable income taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US">Total Current Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US">Operating lease right-of-use assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US">Property and equipment, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US">Deferred tax asset</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US">Goodwill</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xml:lang="en-US">Other assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US">Total Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US">LIABILITIES AND SHAREHOLDERS&#8217; EQUITY</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US">Current Liabilities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xml:lang="en-US">Accounts payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedLiabilitiesCurrent_lbl" xml:lang="en-US">Accrued expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US">Contract liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyAccrualCarryingValueCurrent" xlink:label="us-gaap_LossContingencyAccrualCarryingValueCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyAccrualCarryingValueCurrent" xlink:to="us-gaap_LossContingencyAccrualCarryingValueCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingencyAccrualCarryingValueCurrent_lbl" xml:lang="en-US">Loss reserve</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="us-gaap_LinesOfCreditCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LinesOfCreditCurrent" xlink:to="us-gaap_LinesOfCreditCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LinesOfCreditCurrent_lbl" xml:lang="en-US">Current portion of line of credit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLongTermDebtCurrent" xlink:label="us-gaap_OtherLongTermDebtCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLongTermDebtCurrent" xlink:to="us-gaap_OtherLongTermDebtCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherLongTermDebtCurrent_lbl" xml:lang="en-US">Current portion of long-term debt</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US">Operating lease liabilities, current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxesPayableCurrent" xlink:label="us-gaap_TaxesPayableCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxesPayableCurrent" xlink:to="us-gaap_TaxesPayableCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TaxesPayableCurrent_lbl" xml:lang="en-US">Income taxes payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US">Total Current Liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermLineOfCredit" xlink:label="us-gaap_LongTermLineOfCredit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermLineOfCredit" xlink:to="us-gaap_LongTermLineOfCredit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermLineOfCredit_lbl" xml:lang="en-US">Line of credit, net of current portion</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US">Long-term operating lease liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLongTermDebtNoncurrent" xlink:label="us-gaap_OtherLongTermDebtNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLongTermDebtNoncurrent" xlink:to="us-gaap_OtherLongTermDebtNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherLongTermDebtNoncurrent_lbl" xml:lang="en-US">Long-term debt, net of current portion</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl" xlink:type="arc" />
      <link: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</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US">Commitments and Contingencies (see note 11)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xml:lang="en-US">Shareholders&#8217; Equity:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US">Common stock - $.001 par value; authorized 50,000,000 shares, 12,962,863 and 12,771,434 shares, respectively, issued and outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xml:lang="en-US">Additional paid-in capital</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US">Accumulated deficit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">Total Shareholders&#8217; Equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US">Total Liabilities and Shareholders&#8217; Equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Common stock, par value (in dollars per share)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xml:lang="en-US">Common stock, authorized</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US">Common stock, issued</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US">Common stock, outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementAbstract_lbl" xml:lang="en-US">Income Statement [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xml:lang="en-US">Revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfRevenue" xlink:to="us-gaap_CostOfRevenue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfRevenue_lbl" xml:lang="en-US">Cost of sales</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US">Gross profit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" xml:lang="en-US">Selling, general and administrative expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US">Income from operations</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpense" xlink:to="us-gaap_InterestExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_InterestExpense_lbl" xml:lang="en-US">Interest expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US">Income before provision for income taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Provision for income taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetIncomeLoss_lbl" xml:lang="en-US">Net income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US">Income per common share, basic</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US">Income per common share, diluted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl" xml:lang="en-US">Shares used in computing income per common share:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">&#160;&#160;Basic</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">&#160;&#160;Diluted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementTable_lbl" xml:lang="en-US">Statement [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US">Statement [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_StockholdersEquity_2_lbl" xml:lang="en-US">Beginning balance, value</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CommonStockSharesOutstanding_2_lbl" xml:lang="en-US">Beginning balance (in shares)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLoss_2_lbl" xml:lang="en-US">Net income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_lbl" xml:lang="en-US">Issuance of common stock upon settlement of restricted stock, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl" xml:lang="en-US">Issuance of common stock upon settlement of restricted stock, net (in shares)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xml:lang="en-US">Stock-based compensation expense</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_StockholdersEquity_3_lbl" xml:lang="en-US">Ending balance, value</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CommonStockSharesOutstanding_3_lbl" xml:lang="en-US">Ending balance (in shares)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_lbl" xml:lang="en-US">Cash flows from operating activities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Adjustments to reconcile net income to net cash (used in) provided by operating activities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortization" xlink:to="us-gaap_DepreciationDepletionAndAmortization_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl" xml:lang="en-US">Depreciation and amortization</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfFinancingCosts" xlink:to="us-gaap_AmortizationOfFinancingCosts_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmortizationOfFinancingCosts_lbl" xml:lang="en-US">Amortization of debt issuance cost</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US">Stock-based compensation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:to="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_lbl" xml:lang="en-US">Deferred income taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProvisionForLoanLeaseAndOtherLosses" xlink:label="us-gaap_ProvisionForLoanLeaseAndOtherLosses" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForLoanLeaseAndOtherLosses" xlink:to="us-gaap_ProvisionForLoanLeaseAndOtherLosses_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProvisionForLoanLeaseAndOtherLosses_lbl" xml:lang="en-US">Provision for credit losses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:to="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_lbl" xml:lang="en-US">Amortization of operating lease right-of-use assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US">Changes in operating assets and liabilities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xml:lang="en-US">Increase in accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInsuranceSettlementsReceivable" xlink:label="us-gaap_IncreaseDecreaseInInsuranceSettlementsReceivable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInsuranceSettlementsReceivable" xlink:to="us-gaap_IncreaseDecreaseInInsuranceSettlementsReceivable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInInsuranceSettlementsReceivable_lbl" xml:lang="en-US">Decrease in insurance receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_lbl" xml:lang="en-US">Decrease (increase) in contract assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xml:lang="en-US">Decrease in inventory</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xml:lang="en-US">Decrease in prepaid expenses and other assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" xml:lang="en-US">(Decrease) increase in accounts payable and accrued expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xml:lang="en-US">(Decrease) increase in contract liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_IncreaseDecreaseInLitigationSettlementObligation" xlink:label="cvu_IncreaseDecreaseInLitigationSettlementObligation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_IncreaseDecreaseInLitigationSettlementObligation" xlink:to="cvu_IncreaseDecreaseInLitigationSettlementObligation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_IncreaseDecreaseInLitigationSettlementObligation_lbl" xml:lang="en-US">Decrease in settlement of litigation obligation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl" xml:lang="en-US">Decrease in operating lease liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_IncreaseDecreaseInLossReserve" xlink:label="cvu_IncreaseDecreaseInLossReserve" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_IncreaseDecreaseInLossReserve" xlink:to="cvu_IncreaseDecreaseInLossReserve_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_IncreaseDecreaseInLossReserve_lbl" xml:lang="en-US">Decrease in loss reserve</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl" xml:lang="en-US">Increase in income taxes payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US">Net cash (used in) provided by operating activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US">Cash flows from investing activities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US">Purchase of property and equipment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US">Net cash used in investing activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_lbl" xml:lang="en-US">Cash flows from financing activities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfLinesOfCredit" xlink:label="us-gaap_RepaymentsOfLinesOfCredit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLinesOfCredit" xlink:to="us-gaap_RepaymentsOfLinesOfCredit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfLinesOfCredit_lbl" xml:lang="en-US">Principal payments on line of credit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLongTermDebt" xlink:to="us-gaap_RepaymentsOfLongTermDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfLongTermDebt_lbl" xml:lang="en-US">Principal payments on long-term debt</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_RepaymentsOfInsuranceFinancingObligation" xlink:label="cvu_RepaymentsOfInsuranceFinancingObligation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_RepaymentsOfInsuranceFinancingObligation" xlink:to="cvu_RepaymentsOfInsuranceFinancingObligation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="cvu_RepaymentsOfInsuranceFinancingObligation_lbl" xml:lang="en-US">Repayments of insurance financing obligation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDebtIssuanceCosts" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts_lbl" xml:lang="en-US">Debt issuance costs paid</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xlink:type="arc" />
      <link: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</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl" xml:lang="en-US">Net decrease in cash</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xml:lang="en-US">Cash at beginning of period</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2_lbl" xml:lang="en-US">Cash at end of period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalCashFlowElementsAbstract" xlink:label="us-gaap_SupplementalCashFlowElementsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowElementsAbstract" xlink:to="us-gaap_SupplementalCashFlowElementsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SupplementalCashFlowElementsAbstract_lbl" xml:lang="en-US">Supplemental disclosures of cash flow information:</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_CashPaidDuringPeriodForAbstract" xlink:label="cvu_CashPaidDuringPeriodForAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_CashPaidDuringPeriodForAbstract" xlink:to="cvu_CashPaidDuringPeriodForAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_CashPaidDuringPeriodForAbstract_lbl" xml:lang="en-US">Cash paid during the period for:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPaidNet" xlink:to="us-gaap_InterestPaidNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestPaidNet_lbl" xml:lang="en-US">Interest</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaidNet" xlink:to="us-gaap_IncomeTaxesPaidNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xml:lang="en-US">Income taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountingPoliciesAbstract_lbl" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:to="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_lbl" xml:lang="en-US">INTERIM FINANCIAL STATEMENTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract_lbl" xml:lang="en-US">Revenue from Contract with Customer [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xml:lang="en-US">REVENUE</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_DisclosureContractAssetsAndLiabilitiesAbstract" xlink:label="cvu_DisclosureContractAssetsAndLiabilitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_DisclosureContractAssetsAndLiabilitiesAbstract" xlink:to="cvu_DisclosureContractAssetsAndLiabilitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_DisclosureContractAssetsAndLiabilitiesAbstract_lbl" xml:lang="en-US">Contract Assets And Liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_ContractWithCustomerAssetAndLiabilityTextBlock" xlink:label="cvu_ContractWithCustomerAssetAndLiabilityTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_ContractWithCustomerAssetAndLiabilityTextBlock" xlink:to="cvu_ContractWithCustomerAssetAndLiabilityTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_ContractWithCustomerAssetAndLiabilityTextBlock_lbl" xml:lang="en-US">CONTRACT ASSETS AND LIABILITIES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="us-gaap_InventoryDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryDisclosureAbstract_lbl" xml:lang="en-US">Inventory Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryDisclosureTextBlock_lbl" xml:lang="en-US">INVENTORY</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xml:lang="en-US">Share-Based Payment Arrangement [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US">STOCK-BASED COMPENSATION</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xml:lang="en-US">Earnings Per Share [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xml:lang="en-US">NET INCOME PER SHARE</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDisclosureAbstract_lbl" xml:lang="en-US">Debt Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="us-gaap_LongTermDebtTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtTextBlock" xlink:to="us-gaap_LongTermDebtTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtTextBlock_lbl" xml:lang="en-US">LINE OF CREDIT AND LONG-TERM DEBT</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="us-gaap_RisksAndUncertaintiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RisksAndUncertaintiesAbstract" xlink:to="us-gaap_RisksAndUncertaintiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RisksAndUncertaintiesAbstract_lbl" xml:lang="en-US">Risks and Uncertainties [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:label="us-gaap_ConcentrationRiskDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:to="us-gaap_ConcentrationRiskDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskDisclosureTextBlock_lbl" xml:lang="en-US">MAJOR CUSTOMERS AND VENDORS</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_DisclosureLeasesAbstract" xlink:label="cvu_DisclosureLeasesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_DisclosureLeasesAbstract" xlink:to="cvu_DisclosureLeasesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_DisclosureLeasesAbstract_lbl" xml:lang="en-US">Leases</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xml:lang="en-US">LEASES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_lbl" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US">INCOME TAXES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" xlink:type="arc" />
      <link: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 Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xml:lang="en-US">COMMITMENTS AND CONTINGENCIES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xml:lang="en-US">Basis of Presentation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xml:lang="en-US">Recently Issued Accounting Standards &#8211; Not Adopted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xml:lang="en-US">The following tables present the Company&#8217;s revenue disaggregated by contract type and revenue recognition method:</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_ScheduleOfEstimatesAtCompletionAdjustmentsTableTextBlock" xlink:label="cvu_ScheduleOfEstimatesAtCompletionAdjustmentsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_ScheduleOfEstimatesAtCompletionAdjustmentsTableTextBlock" xlink:to="cvu_ScheduleOfEstimatesAtCompletionAdjustmentsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_ScheduleOfEstimatesAtCompletionAdjustmentsTableTextBlock_lbl" xml:lang="en-US">Net EAC adjustments had the following impact on our gross profit during the six months ended June 30, 2024 and 2023:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xml:lang="en-US">Schedule of contract assets and liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xml:lang="en-US">The components of inventory consisted of the following:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_lbl" xml:lang="en-US">Stock-based compensation expense for restricted stock in the consolidated statements of operations is summarized as follows:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_lbl" xml:lang="en-US">The following table summarizes activity related to outstanding RSUs for the six months ended June 30, 2024:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock" xlink:label="us-gaap_ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock" xlink:to="us-gaap_ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock_lbl" xml:lang="en-US">The following table summarizes activity related to outstanding Restricted Stock Awards for the six months ended June 30, 2024:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock_lbl" xml:lang="en-US">The following table summarizes activity related to outstanding PRSAs for the six months ended June 30, 2024:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US">The maturities of the June 30, 2024 balance of these financing leases are as follows:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US">Future minimum lease payments under non-cancellable operating leases as of June 30, 2024 were as follows:</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_LesseeOperatingLeasesTableTextBlock" xlink:label="cvu_LesseeOperatingLeasesTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_LesseeOperatingLeasesTableTextBlock" xlink:to="cvu_LesseeOperatingLeasesTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_LesseeOperatingLeasesTableTextBlock_lbl" xml:lang="en-US">The following table sets forth the right-of-use assets and operating lease liabilities as of:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashUninsuredAmount" xlink:label="us-gaap_CashUninsuredAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashUninsuredAmount" xlink:to="us-gaap_CashUninsuredAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashUninsuredAmount_lbl" xml:lang="en-US">Uninsured balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueTable_lbl" xml:lang="en-US">Disaggregation of Revenue [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_lbl" xml:lang="en-US">Disaggregation of Revenue [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_EstimatesAtCompletionAdjustmentToGrossProfit" xlink:label="cvu_EstimatesAtCompletionAdjustmentToGrossProfit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_EstimatesAtCompletionAdjustmentToGrossProfit" xlink:to="cvu_EstimatesAtCompletionAdjustmentToGrossProfit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_EstimatesAtCompletionAdjustmentToGrossProfit_lbl" xml:lang="en-US">Net adjustments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligation" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl" xml:lang="en-US">Remaining performance obligations</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_DisclosureContractAssetsAndLiabilitiesAbstract" xlink:to="cvu_DisclosureContractAssetsAndLiabilitiesAbstract_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="cvu_DisclosureContractAssetsAndLiabilitiesAbstract_2_lbl" xml:lang="en-US">Schedule Of Contract Liabilities Are Classified As Current Liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetNet" xlink:label="us-gaap_ContractWithCustomerAssetNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetNet" xlink:to="us-gaap_ContractWithCustomerAssetNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetNet_lbl" xml:lang="en-US">Contract assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ContractWithCustomerLiability_lbl" xml:lang="en-US">Contract liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xml:lang="en-US">Revenue recognized that was included in contract liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterials" xlink:label="us-gaap_InventoryRawMaterials" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryRawMaterials" xlink:to="us-gaap_InventoryRawMaterials_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryRawMaterials_lbl" xml:lang="en-US">Raw materials</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcess" xlink:label="us-gaap_InventoryWorkInProcess" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWorkInProcess" xlink:to="us-gaap_InventoryWorkInProcess_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryWorkInProcess_lbl" xml:lang="en-US">Work in progress</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoods" xlink:label="us-gaap_InventoryFinishedGoods" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryFinishedGoods" xlink:to="us-gaap_InventoryFinishedGoods_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryFinishedGoods_lbl" xml:lang="en-US">Finished goods</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_InventoryNet_2_lbl" xml:lang="en-US">Inventory, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_lbl" xml:lang="en-US">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_lbl" xml:lang="en-US">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xml:lang="en-US">&#160;Total stock-based compensation expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xml:lang="en-US">Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_lbl" xml:lang="en-US">Non vested January 1, 2024</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Non vested January 1, 2024</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xml:lang="en-US">Granted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Granted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_lbl" xml:lang="en-US">Vested</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Vested</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_lbl" xml:lang="en-US">Forfeited</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Forfeited</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_2_lbl" xml:lang="en-US">Non vested June 30, 2024</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_2_lbl" xml:lang="en-US">Non vested June 30, 2024</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xml:lang="en-US">Shares reserved for issuance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" xml:lang="en-US">Shares available for grant</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized_lbl" xml:lang="en-US">Increase in number of shares reserved for issuance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xml:lang="en-US">Vesting period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US">Weighted average remaining amortization period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_lbl" xml:lang="en-US">Vesting percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xml:lang="en-US">Unamortized stock-based compensation costs</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xml:lang="en-US">Incremental shares used in calculation of diluted income per common share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear_lbl" xml:lang="en-US">Remainder of 2024</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US">2025</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US">Total&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="us-gaap_LineOfCreditFacilityTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_LineOfCreditFacilityTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityTable_lbl" xml:lang="en-US">Line of Credit Facility [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="us-gaap_LineOfCreditFacilityLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityLineItems_lbl" xml:lang="en-US">Line of Credit Facility [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US">Line of credit facility, maximum borrowing capacity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentFaceAmount" xlink:to="us-gaap_DebtInstrumentFaceAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentFaceAmount_lbl" xml:lang="en-US">Debt instrument, face amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityExpirationDate1" xlink:label="us-gaap_LineOfCreditFacilityExpirationDate1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityExpirationDate1" xlink:to="us-gaap_LineOfCreditFacilityExpirationDate1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityExpirationDate1_lbl" xml:lang="en-US">Expiration date</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_MinimumDebtServiceCoverageRatio" xlink:label="cvu_MinimumDebtServiceCoverageRatio" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_MinimumDebtServiceCoverageRatio" xlink:to="cvu_MinimumDebtServiceCoverageRatio_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_MinimumDebtServiceCoverageRatio_lbl" xml:lang="en-US">Minimum debt service coverage ratio</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_MaximumLeverageRatio" xlink:label="cvu_MaximumLeverageRatio" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_MaximumLeverageRatio" xlink:to="cvu_MaximumLeverageRatio_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_MaximumLeverageRatio_lbl" xml:lang="en-US">Maximum leverage ratio</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_NetIncomeRequiredUnderAgreement" xlink:label="cvu_NetIncomeRequiredUnderAgreement" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_NetIncomeRequiredUnderAgreement" xlink:to="cvu_NetIncomeRequiredUnderAgreement_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_NetIncomeRequiredUnderAgreement_lbl" xml:lang="en-US">Net income required under agreement</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_MinimumAdjustedEbitda" xlink:label="cvu_MinimumAdjustedEbitda" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_MinimumAdjustedEbitda" xlink:to="cvu_MinimumAdjustedEbitda_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_MinimumAdjustedEbitda_lbl" xml:lang="en-US">Minimum adjusted EBITDA</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl" xml:lang="en-US">Prime rate Plus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xml:lang="en-US">Prime rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtPercentageBearingVariableInterestRate" xlink:label="us-gaap_LongTermDebtPercentageBearingVariableInterestRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtPercentageBearingVariableInterestRate" xlink:to="us-gaap_LongTermDebtPercentageBearingVariableInterestRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtPercentageBearingVariableInterestRate_lbl" xml:lang="en-US">Interest rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCredit" xlink:to="us-gaap_LineOfCredit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCredit_lbl" xml:lang="en-US">Outstanding loans</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermLineOfCredit" xlink:to="us-gaap_LongTermLineOfCredit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LongTermLineOfCredit_2_lbl" xml:lang="en-US">Line of credit</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDebtIssuanceCosts" xlink:to="us-gaap_PaymentsOfDebtIssuanceCosts_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsOfDebtIssuanceCosts_2_lbl" xml:lang="en-US">Payments of debt issuance costs</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFinanceCostsNoncurrentNet" xlink:label="us-gaap_DeferredFinanceCostsNoncurrentNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFinanceCostsNoncurrentNet" xlink:to="us-gaap_DeferredFinanceCostsNoncurrentNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredFinanceCostsNoncurrentNet_lbl" xml:lang="en-US">Debt issuance costs</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiability" xlink:to="us-gaap_FinanceLeaseLiability_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiability_lbl" xml:lang="en-US">Financing leases</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityCurrent" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent_lbl" xml:lang="en-US">Financing leases current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskTable_lbl" xml:lang="en-US">Concentration Risk [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskLineItems_lbl" xml:lang="en-US">Concentration Risk [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xml:lang="en-US">Concentration Risk, Percentage</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_DisclosureLeasesAbstract" xlink:to="cvu_DisclosureLeasesAbstract_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="cvu_DisclosureLeasesAbstract_2_lbl" xml:lang="en-US">Future Minimum Lease Payments Under Non-cancellable Operating Leases As Of June 30 2024 Were As Follows</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_lbl" xml:lang="en-US">Remainder of 2024</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US">2025</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US">2026</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US">2027</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US">2028</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US">Total undiscounted operating lease payments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US">Less imputed interest</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US">Present value of operating lease payments</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_DisclosureLeasesAbstract" xlink:to="cvu_DisclosureLeasesAbstract_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="cvu_DisclosureLeasesAbstract_3_lbl" xml:lang="en-US">Following Table Sets Forth Right-of-use Assets And Operating Lease Liabilities As Of</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AssetsAbstract_2_lbl" xml:lang="en-US">Assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_2_lbl" xml:lang="en-US">Right-of-use assets, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAbstract" xlink:label="us-gaap_LiabilitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAbstract" xlink:to="us-gaap_LiabilitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAbstract_lbl" xml:lang="en-US">Liabilities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_2_lbl" xml:lang="en-US">Current operating lease liabilities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingLeaseLiability_2_lbl" xml:lang="en-US">Total lease liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseExpirationDate1" xlink:label="us-gaap_LeaseExpirationDate1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseExpirationDate1" xlink:to="us-gaap_LeaseExpirationDate1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LeaseExpirationDate1_lbl" xml:lang="en-US">Expiration date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseCost" xlink:to="us-gaap_OperatingLeaseCost_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseCost_lbl" xml:lang="en-US">Operating lease expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US">Weighted average remaining lease term operating leases</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xml:lang="en-US">Weighted average discount rate for its operating leases</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:to="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_lbl" xml:lang="en-US">Valuation allowance released</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xml:lang="en-US">Effective income tax rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xml:lang="en-US">Statutory income tax rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LitigationSettlementAmountAwardedToOtherParty" xlink:label="us-gaap_LitigationSettlementAmountAwardedToOtherParty" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LitigationSettlementAmountAwardedToOtherParty" xlink:to="us-gaap_LitigationSettlementAmountAwardedToOtherParty_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LitigationSettlementAmountAwardedToOtherParty_lbl" xml:lang="en-US">Settlement amount</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_IncreaseDecreaseInLossReserve" xlink:to="cvu_IncreaseDecreaseInLossReserve_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_IncreaseDecreaseInLossReserve_doc" xml:lang="en-US">The amount of increase (decrease) in loss reserve.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_ContractWithCustomerAssetAndLiabilityTextBlock" xlink:to="cvu_ContractWithCustomerAssetAndLiabilityTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_ContractWithCustomerAssetAndLiabilityTextBlock_doc" xml:lang="en-US">The entire disclosure of contract assets and contract liabilities from contract with customer.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_BankUnitedMember" xlink:to="cvu_BankUnitedMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_BankUnitedMember_doc" xml:lang="en-US">Bank United [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_TermLoanMember" xlink:to="cvu_TermLoanMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_TermLoanMember_doc" xml:lang="en-US">Term loan [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_PeriodOneMember" xlink:to="cvu_PeriodOneMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_PeriodOneMember_doc" xml:lang="en-US">Period One [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_PeriodTwoMember" xlink:to="cvu_PeriodTwoMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_PeriodTwoMember_doc" xml:lang="en-US">Period Two [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_PeriodThreeMember" xlink:to="cvu_PeriodThreeMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_PeriodThreeMember_doc" xml:lang="en-US">Period Three [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_NetIncomeRequiredUnderAgreement" xlink:to="cvu_NetIncomeRequiredUnderAgreement_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_NetIncomeRequiredUnderAgreement_doc" xml:lang="en-US">The element represents net income required under agreement.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_MinimumAdjustedEbitda" xlink:to="cvu_MinimumAdjustedEbitda_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_MinimumAdjustedEbitda_doc" xml:lang="en-US">Minimum adjusted EBITDA at the end of each fiscal quarter.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_CustomerOneMember" xlink:to="cvu_CustomerOneMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_CustomerOneMember_doc" xml:lang="en-US">Customer One.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_CustomerTwoMember" xlink:to="cvu_CustomerTwoMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_CustomerTwoMember_doc" xml:lang="en-US">Customer Two.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_CustomerThreeMember" xlink:to="cvu_CustomerThreeMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_CustomerThreeMember_doc" xml:lang="en-US">Customer Three.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_ContractAssetsMember" xlink:to="cvu_ContractAssetsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_ContractAssetsMember_doc" xml:lang="en-US">Contract Assets [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_CustomerFourMember" xlink:to="cvu_CustomerFourMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_CustomerFourMember_doc" xml:lang="en-US">Customer Four.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_LesseeOperatingLeasesTableTextBlock" xlink:to="cvu_LesseeOperatingLeasesTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_LesseeOperatingLeasesTableTextBlock_doc" xml:lang="en-US">Tabular disclosure of lessee operating leases.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_MaximumLeverageRatio" xlink:to="cvu_MaximumLeverageRatio_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_MaximumLeverageRatio_doc" xml:lang="en-US">Maximum leverage ratio for trailing four fiscal quarter periods.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_MinimumDebtServiceCoverageRatio" xlink:to="cvu_MinimumDebtServiceCoverageRatio_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_MinimumDebtServiceCoverageRatio_doc" xml:lang="en-US">Minimum debt service coverage ratio for trailing four fiscal quarter periods.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_PeriodFourMember" xlink:to="cvu_PeriodFourMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_PeriodFourMember_doc" xml:lang="en-US">Period Four [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_PeriodFiveMember" xlink:to="cvu_PeriodFiveMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_PeriodFiveMember_doc" xml:lang="en-US">Period Five [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_RepaymentsOfInsuranceFinancingObligation" xlink:to="cvu_RepaymentsOfInsuranceFinancingObligation_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_RepaymentsOfInsuranceFinancingObligation_doc" xml:lang="en-US">Repayments of insurance financing obligation.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_GovernmentSubcontractsMember" xlink:to="cvu_GovernmentSubcontractsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_GovernmentSubcontractsMember_doc" xml:lang="en-US">Government subcontracts.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_PrimeGovernmentContractsMember" xlink:to="cvu_PrimeGovernmentContractsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_PrimeGovernmentContractsMember_doc" xml:lang="en-US">Prime government contracts.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_CommercialContractsMember" xlink:to="cvu_CommercialContractsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_CommercialContractsMember_doc" xml:lang="en-US">Commercial contracts.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_ScheduleOfEstimatesAtCompletionAdjustmentsTableTextBlock" xlink:to="cvu_ScheduleOfEstimatesAtCompletionAdjustmentsTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_ScheduleOfEstimatesAtCompletionAdjustmentsTableTextBlock_doc" xml:lang="en-US">Tabular disclosure of estimates at completion adjustments to gross profit.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_EstimatesAtCompletionAdjustmentToGrossProfit" xlink:to="cvu_EstimatesAtCompletionAdjustmentToGrossProfit_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_EstimatesAtCompletionAdjustmentToGrossProfit_doc" xml:lang="en-US">Estimates at Completion adjustments to gross profit.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_FavorableAdjustmentMember" xlink:to="cvu_FavorableAdjustmentMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_FavorableAdjustmentMember_doc" xml:lang="en-US">Favorable adjustments.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_UnfavorableAdjustmentMember" xlink:to="cvu_UnfavorableAdjustmentMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_UnfavorableAdjustmentMember_doc" xml:lang="en-US">Unfavorable adjustments.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_PerformanceEquityPlan2009Member" xlink:to="cvu_PerformanceEquityPlan2009Member_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_PerformanceEquityPlan2009Member_doc" xml:lang="en-US">Performance Equity Plan 2009.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_LTIP2016Member" xlink:to="cvu_LTIP2016Member_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_LTIP2016Member_doc" xml:lang="en-US">Long Term Incentive Plan 2016.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_RevolvingLoanMember" xlink:to="cvu_RevolvingLoanMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_RevolvingLoanMember_doc" xml:lang="en-US">Revolving Loan [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_PeriodSixMember" xlink:to="cvu_PeriodSixMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_PeriodSixMember_doc" xml:lang="en-US">Period Six [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_PeriodSevenMember" xlink:to="cvu_PeriodSevenMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_PeriodSevenMember_doc" xml:lang="en-US">Period Seven [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_VendorOneMember" xlink:to="cvu_VendorOneMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_VendorOneMember_doc" xml:lang="en-US">Vendor One [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_IncreaseDecreaseInLitigationSettlementObligation" xlink:to="cvu_IncreaseDecreaseInLitigationSettlementObligation_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_IncreaseDecreaseInLitigationSettlementObligation_doc" xml:lang="en-US">The increase (decrease) during the reporting period in litigation settlement obligation.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrent_2_lbl" xml:lang="en-US">Assets, Current</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Assets_2_lbl" xml:lang="en-US">Assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrent_2_lbl" xml:lang="en-US">Liabilities, Current</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Liabilities_2_lbl" xml:lang="en-US">Liabilities [Default Label]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_4_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquity_4_lbl" xml:lang="en-US">Equity, Attributable to Parent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_2_lbl" xml:lang="en-US">Liabilities and Equity</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GrossProfit_2_lbl" xml:lang="en-US">Gross Profit</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingIncomeLoss_2_lbl" xml:lang="en-US">Operating Income (Loss)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpense" xlink:to="us-gaap_InterestExpense_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestExpense_2_lbl" xml:lang="en-US">Interest Expense, Operating and Nonoperating</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_2_lbl" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:to="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_2_lbl" xml:lang="en-US">Increase (Decrease) in Deferred Income Taxes</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_2_lbl" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInsuranceSettlementsReceivable" xlink:to="us-gaap_IncreaseDecreaseInInsuranceSettlementsReceivable_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInInsuranceSettlementsReceivable_2_lbl" xml:lang="en-US">Increase (Decrease) in Insurance Settlements Receivable</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_2_lbl" xml:lang="en-US">Increase (Decrease) in Contract with Customer, Asset</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInInventories_2_lbl" xml:lang="en-US">Increase (Decrease) in Inventories</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_2_lbl" xml:lang="en-US">Increase (Decrease) in Prepaid Expense and Other Assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_2_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_2_lbl" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_2_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLinesOfCredit" xlink:to="us-gaap_RepaymentsOfLinesOfCredit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfLinesOfCredit_2_lbl" xml:lang="en-US">Repayments of Lines of Credit</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLongTermDebt" xlink:to="us-gaap_RepaymentsOfLongTermDebt_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfLongTermDebt_2_lbl" xml:lang="en-US">Repayments of Long-Term Debt</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_RepaymentsOfInsuranceFinancingObligation" xlink:to="cvu_RepaymentsOfInsuranceFinancingObligation_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_RepaymentsOfInsuranceFinancingObligation_3_lbl" xml:lang="en-US">Repayments of Insurance Financing Obligation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_2_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_2_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_3_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiability_2_lbl" xml:lang="en-US">Contract with Customer, Liability</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_3_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Nonvested, Number of Shares</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_3_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Option, Nonvested, Weighted Average Exercise Price</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested, Number of Shares</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Nonvested Options Forfeited, Number of Shares</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue_2_lbl" xml:lang="en-US">Finance Lease, Liability, to be Paid</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_2_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_2_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year One</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_2_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_2_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseExpirationDate1" xlink:to="us-gaap_LeaseExpirationDate1_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseExpirationDate1_2_lbl" xml:lang="en-US">Lease Expiration Date</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:to="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_2_lbl" xml:lang="en-US">Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount</link:label>
    </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>9
<FILENAME>cvu-20240630_pre.xml
<DESCRIPTION>XBRL PRESENTATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.23a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://cpiaero.com/role/Cover" xlink:href="cvu-20240630.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedBalanceSheets" xlink:href="cvu-20240630.xsd#CondensedConsolidatedBalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedBalanceSheetsParenthetical" xlink:href="cvu-20240630.xsd#CondensedConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations" xlink:href="cvu-20240630.xsd#CondensedConsolidatedStatementsOfOperations" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquity" xlink:href="cvu-20240630.xsd#CondensedConsolidatedStatementsOfShareholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows" xlink:href="cvu-20240630.xsd#CondensedConsolidatedStatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/InterimFinancialStatements" xlink:href="cvu-20240630.xsd#InterimFinancialStatements" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Revenue" xlink:href="cvu-20240630.xsd#Revenue" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ContractAssetsAndLiabilities" xlink:href="cvu-20240630.xsd#ContractAssetsAndLiabilities" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Inventory" xlink:href="cvu-20240630.xsd#Inventory" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Stock-basedCompensation" xlink:href="cvu-20240630.xsd#Stock-basedCompensation" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/NetIncomePerShare" xlink:href="cvu-20240630.xsd#NetIncomePerShare" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/LineOfCreditAndLong-termDebt" xlink:href="cvu-20240630.xsd#LineOfCreditAndLong-termDebt" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/MajorCustomersAndVendors" xlink:href="cvu-20240630.xsd#MajorCustomersAndVendors" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Leases" xlink:href="cvu-20240630.xsd#Leases" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/IncomeTaxes" xlink:href="cvu-20240630.xsd#IncomeTaxes" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CommitmentsAndContingencies" xlink:href="cvu-20240630.xsd#CommitmentsAndContingencies" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/InterimFinancialStatementsPolicies" xlink:href="cvu-20240630.xsd#InterimFinancialStatementsPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/RevenueTables" xlink:href="cvu-20240630.xsd#RevenueTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ContractAssetsAndLiabilitiesTables" xlink:href="cvu-20240630.xsd#ContractAssetsAndLiabilitiesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/InventoryTables" xlink:href="cvu-20240630.xsd#InventoryTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Stock-basedCompensationTables" xlink:href="cvu-20240630.xsd#Stock-basedCompensationTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/LineOfCreditAndLong-termDebtTables" xlink:href="cvu-20240630.xsd#LineOfCreditAndLong-termDebtTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/LeasesTables" xlink:href="cvu-20240630.xsd#LeasesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/InterimFinancialStatementsDetailsNarrative" xlink:href="cvu-20240630.xsd#InterimFinancialStatementsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails" xlink:href="cvu-20240630.xsd#FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/NetEacAdjustmentsHadFollowingImpactOnOurGrossProfitDuringSixMonthsEndedJune302024And2023Details" xlink:href="cvu-20240630.xsd#NetEacAdjustmentsHadFollowingImpactOnOurGrossProfitDuringSixMonthsEndedJune302024And2023Details" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/RevenueDetailsNarrative" xlink:href="cvu-20240630.xsd#RevenueDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ScheduleOfContractLiabilitiesAreClassifiedAsCurrentLiabilitiesDetails" xlink:href="cvu-20240630.xsd#ScheduleOfContractLiabilitiesAreClassifiedAsCurrentLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ContractAssetsAndLiabilitiesDetailsNarrative" xlink:href="cvu-20240630.xsd#ContractAssetsAndLiabilitiesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails" xlink:href="cvu-20240630.xsd#ComponentsOfInventoryConsistedOfFollowingDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails" xlink:href="cvu-20240630.xsd#Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusForSixMonthsEndedJune302024Details" xlink:href="cvu-20240630.xsd#FollowingTableSummarizesActivityRelatedToOutstandingRsusForSixMonthsEndedJune302024Details" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRestrictedStockAwardsForSixMonthsEndedJune302024Details" xlink:href="cvu-20240630.xsd#FollowingTableSummarizesActivityRelatedToOutstandingRestrictedStockAwardsForSixMonthsEndedJune302024Details" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingPrsasForSixMonthsEndedJune302024Details" xlink:href="cvu-20240630.xsd#FollowingTableSummarizesActivityRelatedToOutstandingPrsasForSixMonthsEndedJune302024Details" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative" xlink:href="cvu-20240630.xsd#Stock-basedCompensationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/NetIncomePerShareDetailsNarrative" xlink:href="cvu-20240630.xsd#NetIncomePerShareDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/MaturitiesOfJune302024BalanceOfTheseFinancingLeasesAreAsFollowsDetails" xlink:href="cvu-20240630.xsd#MaturitiesOfJune302024BalanceOfTheseFinancingLeasesAreAsFollowsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative" xlink:href="cvu-20240630.xsd#LineOfCreditAndLong-termDebtDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/MajorCustomersAndVendorsDetailsNarrative" xlink:href="cvu-20240630.xsd#MajorCustomersAndVendorsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302024WereAsFollowsDetails" xlink:href="cvu-20240630.xsd#FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302024WereAsFollowsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FollowingTableSetsForthRight-of-useAssetsAndOperatingLeaseLiabilitiesAsOfDetails" xlink:href="cvu-20240630.xsd#FollowingTableSetsForthRight-of-useAssetsAndOperatingLeaseLiabilitiesAsOfDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/LeasesDetailsNarrative" xlink:href="cvu-20240630.xsd#LeasesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/IncomeTaxesDetailsNarrative" xlink:href="cvu-20240630.xsd#IncomeTaxesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:href="cvu-20240630.xsd#CommitmentsAndContingenciesDetailsNarrative" xlink:type="simple" />
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Cover" xlink:title="00000001 - Document - Cover">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CoverAbstract" xlink:label="loc_deiCoverAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType" xlink:label="loc_deiDocumentType" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentType" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag" xlink:label="loc_deiAmendmentFlag" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentDescription" xlink:label="loc_deiAmendmentDescription" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentDescription" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentRegistrationStatement" xlink:label="loc_deiDocumentRegistrationStatement" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentRegistrationStatement" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentAnnualReport" xlink:label="loc_deiDocumentAnnualReport" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAnnualReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentQuarterlyReport" xlink:label="loc_deiDocumentQuarterlyReport" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentQuarterlyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentTransitionReport" xlink:label="loc_deiDocumentTransitionReport" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentTransitionReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentShellCompanyReport" xlink:label="loc_deiDocumentShellCompanyReport" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentShellCompanyEventDate" xlink:label="loc_deiDocumentShellCompanyEventDate" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyEventDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodStartDate" xlink:label="loc_deiDocumentPeriodStartDate" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodStartDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_deiDocumentPeriodEndDate" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_deiDocumentFiscalPeriodFocus" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalPeriodFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_deiDocumentFiscalYearFocus" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalYearFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_deiCurrentFiscalYearEndDate" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCurrentFiscalYearEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber" xlink:label="loc_deiEntityFileNumber" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFileNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName" xlink:label="loc_deiEntityRegistrantName" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityRegistrantName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey" xlink:label="loc_deiEntityCentralIndexKey" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCentralIndexKey" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityPrimarySicNumber" xlink:label="loc_deiEntityPrimarySicNumber" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPrimarySicNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_deiEntityTaxIdentificationNumber" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityTaxIdentificationNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_deiEntityIncorporationStateCountryCode" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityIncorporationStateCountryCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_deiEntityAddressAddressLine1" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine2" xlink:label="loc_deiEntityAddressAddressLine2" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine3" xlink:label="loc_deiEntityAddressAddressLine3" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine3" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_deiEntityAddressCityOrTown" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCityOrTown" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_deiEntityAddressStateOrProvince" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressStateOrProvince" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCountry" xlink:label="loc_deiEntityAddressCountry" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCountry" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_deiEntityAddressPostalZipCode" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressPostalZipCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CountryRegion" xlink:label="loc_deiCountryRegion" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCountryRegion" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode" xlink:label="loc_deiCityAreaCode" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCityAreaCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber" xlink:label="loc_deiLocalPhoneNumber" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiLocalPhoneNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Extension" xlink:label="loc_deiExtension" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiExtension" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_WrittenCommunications" xlink:label="loc_deiWrittenCommunications" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiWrittenCommunications" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SolicitingMaterial" xlink:label="loc_deiSolicitingMaterial" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSolicitingMaterial" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementTenderOffer" xlink:label="loc_deiPreCommencementTenderOffer" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="loc_deiPreCommencementIssuerTenderOffer" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementIssuerTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle" xlink:label="loc_deiSecurity12bTitle" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12bTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_NoTradingSymbolFlag" xlink:label="loc_deiNoTradingSymbolFlag" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiNoTradingSymbolFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol" xlink:label="loc_deiTradingSymbol" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiTradingSymbol" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName" xlink:label="loc_deiSecurityExchangeName" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityExchangeName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12gTitle" xlink:label="loc_deiSecurity12gTitle" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12gTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityReportingObligation" xlink:label="loc_deiSecurityReportingObligation" />
      <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityReportingObligation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AnnualInformationForm" xlink:label="loc_deiAnnualInformationForm" />
      <link:presentationArc order="410" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAnnualInformationForm" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="loc_deiAuditedAnnualFinancialStatements" />
      <link:presentationArc order="420" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditedAnnualFinancialStatements" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="loc_deiEntityWellKnownSeasonedIssuer" />
      <link:presentationArc order="430" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityWellKnownSeasonedIssuer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityVoluntaryFilers" xlink:label="loc_deiEntityVoluntaryFilers" />
      <link:presentationArc order="440" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityVoluntaryFilers" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_deiEntityCurrentReportingStatus" />
      <link:presentationArc order="450" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCurrentReportingStatus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_deiEntityInteractiveDataCurrent" />
      <link:presentationArc order="460" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityInteractiveDataCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFilerCategory" xlink:label="loc_deiEntityFilerCategory" />
      <link:presentationArc order="470" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFilerCategory" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntitySmallBusiness" xlink:label="loc_deiEntitySmallBusiness" />
      <link:presentationArc order="480" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntitySmallBusiness" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_deiEntityEmergingGrowthCompany" />
      <link:presentationArc order="490" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityEmergingGrowthCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityExTransitionPeriod" xlink:label="loc_deiEntityExTransitionPeriod" />
      <link:presentationArc order="500" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityExTransitionPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentAccountingStandard" xlink:label="loc_deiDocumentAccountingStandard" />
      <link:presentationArc order="510" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAccountingStandard" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_OtherReportingStandardItemNumber" xlink:label="loc_deiOtherReportingStandardItemNumber" />
      <link:presentationArc order="520" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiOtherReportingStandardItemNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityShellCompany" xlink:label="loc_deiEntityShellCompany" />
      <link:presentationArc order="530" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityShellCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityPublicFloat" xlink:label="loc_deiEntityPublicFloat" />
      <link:presentationArc order="540" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPublicFloat" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="loc_deiEntityBankruptcyProceedingsReportingCurrent" />
      <link:presentationArc order="550" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityBankruptcyProceedingsReportingCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_deiEntityCommonStockSharesOutstanding" />
      <link:presentationArc order="560" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCommonStockSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="loc_deiDocumentsIncorporatedByReferenceTextBlock" />
      <link:presentationArc order="570" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentsIncorporatedByReferenceTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CondensedConsolidatedBalanceSheets" xlink:title="00000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaapStatementOfFinancialPositionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaapAssetsAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapAssetsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="loc_us-gaapAssetsCurrentAbstract" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapAssetsCurrentAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Cash" xlink:label="loc_us-gaapCash" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapCash" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapAccountsReceivableNetCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="loc_us-gaapContractWithCustomerAssetNetCurrent" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapContractWithCustomerAssetNetCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesReceivable" xlink:label="loc_us-gaapIncomeTaxesReceivable" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapIncomeTaxesReceivable" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrent" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapAssetsCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="loc_us-gaapDeferredIncomeTaxAssetsNet" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxAssetsNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapGoodwill" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaapOtherAssetsNoncurrent" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapOtherAssetsNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaapLiabilitiesCurrentAbstract" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapLiabilitiesCurrentAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapAccountsPayableCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccruedLiabilitiesCurrent" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapAccruedLiabilitiesCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityCurrent" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapContractWithCustomerLiabilityCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LossContingencyAccrualCarryingValueCurrent" xlink:label="loc_us-gaapLossContingencyAccrualCarryingValueCurrent" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapLossContingencyAccrualCarryingValueCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaapLinesOfCreditCurrent" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapLinesOfCreditCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLongTermDebtCurrent" xlink:label="loc_us-gaapOtherLongTermDebtCurrent" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapOtherLongTermDebtCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxesPayableCurrent" xlink:label="loc_us-gaapTaxesPayableCurrent" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapTaxesPayableCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapLiabilitiesCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermLineOfCredit" xlink:label="loc_us-gaapLongTermLineOfCredit" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapLongTermLineOfCredit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLongTermDebtNoncurrent" xlink:label="loc_us-gaapOtherLongTermDebtNoncurrent" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapOtherLongTermDebtNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapLiabilities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="loc_us-gaapCommitmentsAndContingencies" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapCommitmentsAndContingencies" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaapStockholdersEquityAbstract" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapStockholdersEquityAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapCommonStockValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaapAdditionalPaidInCapitalCommonStock" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapAdditionalPaidInCapitalCommonStock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapRetainedEarningsAccumulatedDeficit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapStockholdersEquity" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquity" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CondensedConsolidatedBalanceSheetsParenthetical" xlink:title="00000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaapStatementOfFinancialPositionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaapCommonStockParOrStatedValuePerShare" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommonStockParOrStatedValuePerShare" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaapCommonStockSharesAuthorized" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommonStockSharesAuthorized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaapCommonStockSharesIssued" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommonStockSharesIssued" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="loc_us-gaapCommonStockSharesOutstanding" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommonStockSharesOutstanding" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations" xlink:title="00000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (UNAUDITED)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaapIncomeStatementAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfRevenue" xlink:label="loc_us-gaapCostOfRevenue" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapCostOfRevenue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapGrossProfit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaapSellingGeneralAndAdministrativeExpense" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapSellingGeneralAndAdministrativeExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapOperatingIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaapInterestExpense" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapInterestExpense" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaapEarningsPerShareBasic" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapEarningsPerShareBasic" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapEarningsPerShareDiluted" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingAbstract" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapWeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapWeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquity" xlink:title="00000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS&apos; EQUITY (UNAUDITED)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaapStatementOfStockholdersEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfStockholdersEquityAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapCommonStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaapAdditionalPaidInCapitalMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapAdditionalPaidInCapitalMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaapRetainedEarningsMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapRetainedEarningsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquity" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="loc_us-gaapCommonStockSharesOutstanding" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCommonStockSharesOutstanding" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueRestrictedStockAwardGross" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesRestrictedStockAwardGross" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity_2" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquity_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="loc_us-gaapCommonStockSharesOutstanding_2" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCommonStockSharesOutstanding_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows" xlink:title="00000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaapStatementOfCashFlowsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:to="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="loc_us-gaapDepreciationDepletionAndAmortization" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapDepreciationDepletionAndAmortization" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="loc_us-gaapAmortizationOfFinancingCosts" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapAmortizationOfFinancingCosts" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapShareBasedCompensation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="loc_us-gaapIncreaseDecreaseInDeferredIncomeTaxes" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInDeferredIncomeTaxes" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProvisionForLoanLeaseAndOtherLosses" xlink:label="loc_us-gaapProvisionForLoanLeaseAndOtherLosses" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapProvisionForLoanLeaseAndOtherLosses" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsReceivable" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsReceivable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInsuranceSettlementsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInInsuranceSettlementsReceivable" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInInsuranceSettlementsReceivable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerAsset" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInContractWithCustomerAsset" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInInventories" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="loc_us-gaapIncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_IncreaseDecreaseInLitigationSettlementObligation" xlink:label="loc_cvuIncreaseDecreaseInLitigationSettlementObligation" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_cvuIncreaseDecreaseInLitigationSettlementObligation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="loc_us-gaapIncreaseDecreaseInOperatingLeaseLiability" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInOperatingLeaseLiability" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_IncreaseDecreaseInLossReserve" xlink:label="loc_cvuIncreaseDecreaseInLossReserve" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_cvuIncreaseDecreaseInLossReserve" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfLinesOfCredit" xlink:label="loc_us-gaapRepaymentsOfLinesOfCredit" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="loc_us-gaapRepaymentsOfLinesOfCredit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="loc_us-gaapRepaymentsOfLongTermDebt" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="loc_us-gaapRepaymentsOfLongTermDebt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_RepaymentsOfInsuranceFinancingObligation" xlink:label="loc_cvuRepaymentsOfInsuranceFinancingObligation" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="loc_cvuRepaymentsOfInsuranceFinancingObligation" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="loc_us-gaapPaymentsOfDebtIssuanceCosts" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="loc_us-gaapPaymentsOfDebtIssuanceCosts" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalCashFlowElementsAbstract" xlink:label="loc_us-gaapSupplementalCashFlowElementsAbstract" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapSupplementalCashFlowElementsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_CashPaidDuringPeriodForAbstract" xlink:label="loc_cvuCashPaidDuringPeriodForAbstract" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_cvuCashPaidDuringPeriodForAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestPaidNet" xlink:label="loc_us-gaapInterestPaidNet" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cvuCashPaidDuringPeriodForAbstract" xlink:to="loc_us-gaapInterestPaidNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="loc_us-gaapIncomeTaxesPaidNet" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cvuCashPaidDuringPeriodForAbstract" xlink:to="loc_us-gaapIncomeTaxesPaidNet" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/InterimFinancialStatements" xlink:title="00000007 - Disclosure - INTERIM FINANCIAL STATEMENTS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:label="loc_us-gaapOrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapOrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Revenue" xlink:title="00000008 - Disclosure - REVENUE">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="loc_us-gaapRevenueFromContractWithCustomerTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapRevenueFromContractWithCustomerTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ContractAssetsAndLiabilities" xlink:title="00000009 - Disclosure - CONTRACT ASSETS AND LIABILITIES">
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_DisclosureContractAssetsAndLiabilitiesAbstract" xlink:label="loc_cvuDisclosureContractAssetsAndLiabilitiesAbstract" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_ContractWithCustomerAssetAndLiabilityTextBlock" xlink:label="loc_cvuContractWithCustomerAssetAndLiabilityTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cvuDisclosureContractAssetsAndLiabilitiesAbstract" xlink:to="loc_cvuContractWithCustomerAssetAndLiabilityTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Inventory" xlink:title="00000010 - Disclosure - INVENTORY">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="loc_us-gaapInventoryDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Stock-basedCompensation" xlink:title="00000011 - Disclosure - STOCK-BASED COMPENSATION">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapDisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/NetIncomePerShare" xlink:title="00000012 - Disclosure - NET INCOME PER SHARE">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="loc_us-gaapEarningsPerShareTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapEarningsPerShareTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/LineOfCreditAndLong-termDebt" xlink:title="00000013 - Disclosure - LINE OF CREDIT AND LONG-TERM DEBT">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="loc_us-gaapLongTermDebtTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapLongTermDebtTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/MajorCustomersAndVendors" xlink:title="00000014 - Disclosure - MAJOR CUSTOMERS AND VENDORS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="loc_us-gaapRisksAndUncertaintiesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:label="loc_us-gaapConcentrationRiskDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRisksAndUncertaintiesAbstract" xlink:to="loc_us-gaapConcentrationRiskDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Leases" xlink:title="00000015 - Disclosure - LEASES">
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_DisclosureLeasesAbstract" xlink:label="loc_cvuDisclosureLeasesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="loc_us-gaapLesseeOperatingLeasesTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cvuDisclosureLeasesAbstract" xlink:to="loc_us-gaapLesseeOperatingLeasesTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/IncomeTaxes" xlink:title="00000016 - Disclosure - INCOME TAXES">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="loc_us-gaapIncomeTaxDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CommitmentsAndContingencies" xlink:title="00000017 - Disclosure - COMMITMENTS AND CONTINGENCIES">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapCommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/InterimFinancialStatementsPolicies" xlink:title="00000018 - Disclosure - INTERIM FINANCIAL STATEMENTS (Policies)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="loc_us-gaapBasisOfAccountingPolicyPolicyTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapBasisOfAccountingPolicyPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="loc_us-gaapNewAccountingPronouncementsPolicyPolicyTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapNewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/RevenueTables" xlink:title="00000019 - Disclosure - REVENUE (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="loc_us-gaapDisaggregationOfRevenueTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapDisaggregationOfRevenueTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_ScheduleOfEstimatesAtCompletionAdjustmentsTableTextBlock" xlink:label="loc_cvuScheduleOfEstimatesAtCompletionAdjustmentsTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_cvuScheduleOfEstimatesAtCompletionAdjustmentsTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ContractAssetsAndLiabilitiesTables" xlink:title="00000020 - Disclosure - CONTRACT ASSETS AND LIABILITIES (Tables)">
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_DisclosureContractAssetsAndLiabilitiesAbstract" xlink:label="loc_cvuDisclosureContractAssetsAndLiabilitiesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="loc_us-gaapContractWithCustomerAssetAndLiabilityTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cvuDisclosureContractAssetsAndLiabilitiesAbstract" xlink:to="loc_us-gaapContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/InventoryTables" xlink:title="00000021 - Disclosure - INVENTORY (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="loc_us-gaapScheduleOfInventoryCurrentTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfInventoryCurrentTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Stock-basedCompensationTables" xlink:title="00000022 - Disclosure - STOCK-BASED COMPENSATION (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="loc_us-gaapScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock" xlink:label="loc_us-gaapShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock" xlink:label="loc_us-gaapScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/LineOfCreditAndLong-termDebtTables" xlink:title="00000023 - Disclosure - LINE OF CREDIT AND LONG-TERM DEBT (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock" xlink:label="loc_us-gaapFinanceLeaseLiabilityMaturityTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapFinanceLeaseLiabilityMaturityTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/LeasesTables" xlink:title="00000024 - Disclosure - LEASES (Tables)">
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_DisclosureLeasesAbstract" xlink:label="loc_cvuDisclosureLeasesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cvuDisclosureLeasesAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_LesseeOperatingLeasesTableTextBlock" xlink:label="loc_cvuLesseeOperatingLeasesTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cvuDisclosureLeasesAbstract" xlink:to="loc_cvuLesseeOperatingLeasesTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/InterimFinancialStatementsDetailsNarrative" xlink:title="00000025 - Disclosure - INTERIM FINANCIAL STATEMENTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashUninsuredAmount" xlink:label="loc_us-gaapCashUninsuredAmount" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapCashUninsuredAmount" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails" xlink:title="00000026 - Disclosure - The following tables present the Company&#8217;s revenue disaggregated by contract type and revenue recognition method: (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="loc_us-gaapDisaggregationOfRevenueTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapDisaggregationOfRevenueTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="loc_us-gaapDisaggregationOfRevenueLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_us-gaapDisaggregationOfRevenueLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_srtProductOrServiceAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_GovernmentSubcontractsMember" xlink:label="loc_cvuGovernmentSubcontractsMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_cvuGovernmentSubcontractsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_PrimeGovernmentContractsMember" xlink:label="loc_cvuPrimeGovernmentContractsMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_cvuPrimeGovernmentContractsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_CommercialContractsMember" xlink:label="loc_cvuCommercialContractsMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_cvuCommercialContractsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="loc_us-gaapTimingOfTransferOfGoodOrServiceAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_us-gaapTimingOfTransferOfGoodOrServiceAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTimingOfTransferOfGoodOrServiceAxis" xlink:to="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TransferredOverTimeMember" xlink:label="loc_us-gaapTransferredOverTimeMember" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain" xlink:to="loc_us-gaapTransferredOverTimeMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TransferredAtPointInTimeMember" xlink:label="loc_us-gaapTransferredAtPointInTimeMember" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain" xlink:to="loc_us-gaapTransferredAtPointInTimeMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisaggregationOfRevenueLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/NetEacAdjustmentsHadFollowingImpactOnOurGrossProfitDuringSixMonthsEndedJune302024And2023Details" xlink:title="00000027 - Disclosure - Net EAC adjustments had the following impact on our gross profit during the six months ended June 30, 2024 and 2023: (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:label="loc_srtCumulativeEffectPeriodOfAdoptionAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtCumulativeEffectPeriodOfAdoptionAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:label="loc_srtCumulativeEffectPeriodOfAdoptionDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtCumulativeEffectPeriodOfAdoptionAxis" xlink:to="loc_srtCumulativeEffectPeriodOfAdoptionDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_FavorableAdjustmentMember" xlink:label="loc_cvuFavorableAdjustmentMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtCumulativeEffectPeriodOfAdoptionDomain" xlink:to="loc_cvuFavorableAdjustmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_UnfavorableAdjustmentMember" xlink:label="loc_cvuUnfavorableAdjustmentMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtCumulativeEffectPeriodOfAdoptionDomain" xlink:to="loc_cvuUnfavorableAdjustmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_EstimatesAtCompletionAdjustmentToGrossProfit" xlink:label="loc_cvuEstimatesAtCompletionAdjustmentToGrossProfit" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_cvuEstimatesAtCompletionAdjustmentToGrossProfit" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/RevenueDetailsNarrative" xlink:title="00000028 - Disclosure - REVENUE (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="loc_us-gaapRevenueRemainingPerformanceObligation" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapRevenueRemainingPerformanceObligation" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ScheduleOfContractLiabilitiesAreClassifiedAsCurrentLiabilitiesDetails" xlink:title="00000029 - Disclosure - Schedule of Contract liabilities are classified as current liabilities (Details)">
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_DisclosureContractAssetsAndLiabilitiesAbstract" xlink:label="loc_cvuDisclosureContractAssetsAndLiabilitiesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetNet" xlink:label="loc_us-gaapContractWithCustomerAssetNet" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cvuDisclosureContractAssetsAndLiabilitiesAbstract" xlink:to="loc_us-gaapContractWithCustomerAssetNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="loc_us-gaapContractWithCustomerLiability" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cvuDisclosureContractAssetsAndLiabilitiesAbstract" xlink:to="loc_us-gaapContractWithCustomerLiability" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ContractAssetsAndLiabilitiesDetailsNarrative" xlink:title="00000030 - Disclosure - CONTRACT ASSETS AND LIABILITIES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_DisclosureContractAssetsAndLiabilitiesAbstract" xlink:label="loc_cvuDisclosureContractAssetsAndLiabilitiesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="loc_us-gaapContractWithCustomerLiabilityRevenueRecognized" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cvuDisclosureContractAssetsAndLiabilitiesAbstract" xlink:to="loc_us-gaapContractWithCustomerLiabilityRevenueRecognized" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails" xlink:title="00000031 - Disclosure - The components of inventory consisted of the following: (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterials" xlink:label="loc_us-gaapInventoryRawMaterials" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryRawMaterials" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcess" xlink:label="loc_us-gaapInventoryWorkInProcess" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryWorkInProcess" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoods" xlink:label="loc_us-gaapInventoryFinishedGoods" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryFinishedGoods" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails" xlink:title="00000032 - Disclosure - Stock-based compensation expense for restricted stock in the consolidated statements of operations is summarized as follows: (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="loc_us-gaapScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaapIncomeStatementLocationAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="loc_us-gaapIncomeStatementLocationAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaapIncomeStatementLocationDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementLocationAxis" xlink:to="loc_us-gaapIncomeStatementLocationDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfSalesMember" xlink:label="loc_us-gaapCostOfSalesMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementLocationDomain" xlink:to="loc_us-gaapCostOfSalesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="loc_us-gaapSellingGeneralAndAdministrativeExpensesMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementLocationDomain" xlink:to="loc_us-gaapSellingGeneralAndAdministrativeExpensesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaapAllocatedShareBasedCompensationExpense" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="loc_us-gaapAllocatedShareBasedCompensationExpense" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusForSixMonthsEndedJune302024Details" xlink:title="00000033 - Disclosure - The following table summarizes activity related to outstanding RSUs for the six months ended June 30, 2024: (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaapRestrictedStockUnitsRSUMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapRestrictedStockUnitsRSUMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_2" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_2" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRestrictedStockAwardsForSixMonthsEndedJune302024Details" xlink:title="00000034 - Disclosure - The following table summarizes activity related to outstanding Restricted Stock Awards for the six months ended June 30, 2024: (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockMember" xlink:label="loc_us-gaapRestrictedStockMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapRestrictedStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_2" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_2" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingPrsasForSixMonthsEndedJune302024Details" xlink:title="00000035 - Disclosure - The following table summarizes activity related to outstanding PRSAs for the six months ended June 30, 2024: (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PerformanceSharesMember" xlink:label="loc_us-gaapPerformanceSharesMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapPerformanceSharesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_2" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_2" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative" xlink:title="00000036 - Disclosure - STOCK-BASED COMPENSATION (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaapPlanNameAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapPlanNameAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_PerformanceEquityPlan2009Member" xlink:label="loc_cvuPerformanceEquityPlan2009Member" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_cvuPerformanceEquityPlan2009Member" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_LTIP2016Member" xlink:label="loc_cvuLTIP2016Member" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_cvuLTIP2016Member" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaapEmployeeStockOptionMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapEmployeeStockOptionMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaapRestrictedStockUnitsRSUMember" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapRestrictedStockUnitsRSUMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockMember" xlink:label="loc_us-gaapRestrictedStockMember" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapRestrictedStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PerformanceSharesMember" xlink:label="loc_us-gaapPerformanceSharesMember" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapPerformanceSharesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtRangeAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VestingAxis" xlink:label="loc_us-gaapVestingAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapVestingAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VestingDomain" xlink:label="loc_us-gaapVestingDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapVestingAxis" xlink:to="loc_us-gaapVestingDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:label="loc_us-gaapShareBasedCompensationAwardTrancheOneMember" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapVestingDomain" xlink:to="loc_us-gaapShareBasedCompensationAwardTrancheOneMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:label="loc_us-gaapShareBasedCompensationAwardTrancheTwoMember" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapVestingDomain" xlink:to="loc_us-gaapShareBasedCompensationAwardTrancheTwoMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/NetIncomePerShareDetailsNarrative" xlink:title="00000037 - Disclosure - NET INCOME PER SHARE (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="loc_us-gaapIncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapIncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/MaturitiesOfJune302024BalanceOfTheseFinancingLeasesAreAsFollowsDetails" xlink:title="00000038 - Disclosure - The maturities of the June 30, 2024 balance of these financing leases are as follows: (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="loc_us-gaapFinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapFinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="loc_us-gaapFinanceLeaseLiabilityPaymentsDueNextTwelveMonths" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapFinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="loc_us-gaapFinanceLeaseLiabilityPaymentsDue" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapFinanceLeaseLiabilityPaymentsDue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative" xlink:title="00000039 - Disclosure - LINE OF CREDIT AND LONG-TERM DEBT (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="loc_us-gaapLineOfCreditFacilityTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapLineOfCreditFacilityTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="loc_us-gaapLineOfCreditFacilityLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapLineOfCreditFacilityLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="loc_us-gaapLineOfCreditFacilityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapLineOfCreditFacilityAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="loc_us-gaapLineOfCreditFacilityLenderDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityAxis" xlink:to="loc_us-gaapLineOfCreditFacilityLenderDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_BankUnitedMember" xlink:label="loc_cvuBankUnitedMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLenderDomain" xlink:to="loc_cvuBankUnitedMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis" xlink:label="loc_us-gaapCreditFacilityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapCreditFacilityAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="loc_us-gaapCreditFacilityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCreditFacilityAxis" xlink:to="loc_us-gaapCreditFacilityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="loc_us-gaapRevolvingCreditFacilityMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCreditFacilityDomain" xlink:to="loc_us-gaapRevolvingCreditFacilityMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_TermLoanMember" xlink:label="loc_cvuTermLoanMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCreditFacilityDomain" xlink:to="loc_cvuTermLoanMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_RevolvingLoanMember" xlink:label="loc_cvuRevolvingLoanMember" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCreditFacilityDomain" xlink:to="loc_cvuRevolvingLoanMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="loc_us-gaapDebtInstrumentAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapDebtInstrumentAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaapDebtInstrumentNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtInstrumentAxis" xlink:to="loc_us-gaapDebtInstrumentNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_PeriodOneMember" xlink:label="loc_cvuPeriodOneMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_cvuPeriodOneMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_PeriodTwoMember" xlink:label="loc_cvuPeriodTwoMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_cvuPeriodTwoMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_PeriodThreeMember" xlink:label="loc_cvuPeriodThreeMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_cvuPeriodThreeMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_PeriodFourMember" xlink:label="loc_cvuPeriodFourMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_cvuPeriodFourMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_PeriodFiveMember" xlink:label="loc_cvuPeriodFiveMember" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_cvuPeriodFiveMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_PeriodSixMember" xlink:label="loc_cvuPeriodSixMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_cvuPeriodSixMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_PeriodSevenMember" xlink:label="loc_cvuPeriodSevenMember" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_cvuPeriodSevenMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_srtRangeAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="loc_us-gaapDebtInstrumentFaceAmount" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentFaceAmount" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityExpirationDate1" xlink:label="loc_us-gaapLineOfCreditFacilityExpirationDate1" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityExpirationDate1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_MinimumDebtServiceCoverageRatio" xlink:label="loc_cvuMinimumDebtServiceCoverageRatio" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_cvuMinimumDebtServiceCoverageRatio" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_MaximumLeverageRatio" xlink:label="loc_cvuMaximumLeverageRatio" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_cvuMaximumLeverageRatio" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_NetIncomeRequiredUnderAgreement" xlink:label="loc_cvuNetIncomeRequiredUnderAgreement" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_cvuNetIncomeRequiredUnderAgreement" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_MinimumAdjustedEbitda" xlink:label="loc_cvuMinimumAdjustedEbitda" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_cvuMinimumAdjustedEbitda" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="loc_us-gaapDebtInstrumentBasisSpreadOnVariableRate1" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentBasisSpreadOnVariableRate1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaapDebtInstrumentInterestRateStatedPercentage" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentInterestRateStatedPercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtPercentageBearingVariableInterestRate" xlink:label="loc_us-gaapLongTermDebtPercentageBearingVariableInterestRate" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLongTermDebtPercentageBearingVariableInterestRate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCredit" xlink:label="loc_us-gaapLineOfCredit" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCredit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaapLinesOfCreditCurrent" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLinesOfCreditCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermLineOfCredit" xlink:label="loc_us-gaapLongTermLineOfCredit" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLongTermLineOfCredit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="loc_us-gaapPaymentsOfDebtIssuanceCosts" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapPaymentsOfDebtIssuanceCosts" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredFinanceCostsNoncurrentNet" xlink:label="loc_us-gaapDeferredFinanceCostsNoncurrentNet" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDeferredFinanceCostsNoncurrentNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiability" xlink:label="loc_us-gaapFinanceLeaseLiability" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapFinanceLeaseLiability" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="loc_us-gaapFinanceLeaseLiabilityCurrent" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapFinanceLeaseLiabilityCurrent" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/MajorCustomersAndVendorsDetailsNarrative" xlink:title="00000040 - Disclosure - MAJOR CUSTOMERS AND VENDORS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="loc_us-gaapRisksAndUncertaintiesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTable" xlink:label="loc_us-gaapConcentrationRiskTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRisksAndUncertaintiesAbstract" xlink:to="loc_us-gaapConcentrationRiskTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="loc_us-gaapConcentrationRiskLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskTable" xlink:to="loc_us-gaapConcentrationRiskLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaapConcentrationRiskByBenchmarkAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="loc_us-gaapSalesRevenueNetMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapSalesRevenueNetMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapAccountsReceivableMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_ContractAssetsMember" xlink:label="loc_cvuContractAssetsMember" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_cvuContractAssetsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableMember" xlink:label="loc_us-gaapAccountsPayableMember" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapAccountsPayableMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaapConcentrationRiskByTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskTable" xlink:to="loc_us-gaapConcentrationRiskByTypeAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis" xlink:to="loc_us-gaapConcentrationRiskTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="loc_us-gaapCustomerConcentrationRiskMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskTypeDomain" xlink:to="loc_us-gaapCustomerConcentrationRiskMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="loc_srtMajorCustomersAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskTable" xlink:to="loc_srtMajorCustomersAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srtNameOfMajorCustomerDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtMajorCustomersAxis" xlink:to="loc_srtNameOfMajorCustomerDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_CustomerOneMember" xlink:label="loc_cvuCustomerOneMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_cvuCustomerOneMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_CustomerTwoMember" xlink:label="loc_cvuCustomerTwoMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_cvuCustomerTwoMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_CustomerThreeMember" xlink:label="loc_cvuCustomerThreeMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_cvuCustomerThreeMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_CustomerFourMember" xlink:label="loc_cvuCustomerFourMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_cvuCustomerFourMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_VendorOneMember" xlink:label="loc_cvuVendorOneMember" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_cvuVendorOneMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="loc_us-gaapConcentrationRiskPercentage1" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskLineItems" xlink:to="loc_us-gaapConcentrationRiskPercentage1" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302024WereAsFollowsDetails" xlink:title="00000041 - Disclosure - Future minimum lease payments under non-cancellable operating leases as of June 30, 2024 were as follows: (Details)">
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_DisclosureLeasesAbstract" xlink:label="loc_cvuDisclosureLeasesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cvuDisclosureLeasesAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cvuDisclosureLeasesAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cvuDisclosureLeasesAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cvuDisclosureLeasesAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearFour" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cvuDisclosureLeasesAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cvuDisclosureLeasesAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cvuDisclosureLeasesAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaapOperatingLeaseLiability" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cvuDisclosureLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseLiability" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/FollowingTableSetsForthRight-of-useAssetsAndOperatingLeaseLiabilitiesAsOfDetails" xlink:title="00000042 - Disclosure - The following table sets forth the right-of-use assets and operating lease liabilities as of: (Details)">
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_DisclosureLeasesAbstract" xlink:label="loc_cvuDisclosureLeasesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaapAssetsAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cvuDisclosureLeasesAbstract" xlink:to="loc_us-gaapAssetsAbstract" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAbstract" xlink:label="loc_us-gaapLiabilitiesAbstract" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cvuDisclosureLeasesAbstract" xlink:to="loc_us-gaapLiabilitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAbstract" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAbstract" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaapOperatingLeaseLiability" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAbstract" xlink:to="loc_us-gaapOperatingLeaseLiability" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/LeasesDetailsNarrative" xlink:title="00000043 - Disclosure - LEASES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="cvu-20240630.xsd#cvu_DisclosureLeasesAbstract" xlink:label="loc_cvuDisclosureLeasesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseExpirationDate1" xlink:label="loc_us-gaapLeaseExpirationDate1" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cvuDisclosureLeasesAbstract" xlink:to="loc_us-gaapLeaseExpirationDate1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseCost" xlink:label="loc_us-gaapOperatingLeaseCost" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cvuDisclosureLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseCost" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="loc_us-gaapOperatingLeaseWeightedAverageRemainingLeaseTerm1" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cvuDisclosureLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="loc_us-gaapOperatingLeaseWeightedAverageDiscountRatePercent" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cvuDisclosureLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/IncomeTaxesDetailsNarrative" xlink:title="00000044 - Disclosure - INCOME TAXES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:label="loc_us-gaapValuationAllowanceDeferredTaxAssetChangeInAmount" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="loc_us-gaapEffectiveIncomeTaxRateContinuingOperations" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapEffectiveIncomeTaxRateContinuingOperations" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:title="00000045 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LitigationSettlementAmountAwardedToOtherParty" xlink:label="loc_us-gaapLitigationSettlementAmountAwardedToOtherParty" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLitigationSettlementAmountAwardedToOtherParty" xlink:type="arc" />
    </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>10
<FILENAME>cpi10q001.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 cpi10q001.jpg
M_]C_X  02D9)1@ ! @  9 !D  #_[  11'5C:WD  0 $    9   _^X #D%D
M;V)E &3      ?_; (0  0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$!
M 0$! 0$! 0$! 0$! 0(" @(" @(" @(" P,# P,# P,# P$! 0$! 0$" 0$"
M @(! @(# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,#
M P,# P,# P,#_\  $0@ -P"J P$1  (1 0,1 ?_$ +X   $#! ,!
M      @ !PH#! 8) 0(%"P$  00# 0$               ($!0<#!@@!"1
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
M;A,C@W,! 1%4IA&@ZREUQ[\QM2FP?PDI'LE"5N-;YNI"E=I$5T4?1$HI]*9
M /(F0@!7QH4 X:4-TOB)*NTZF$EP*U0))B\%8W@:@!S%0O2(C\J@ 4TA;C23
MM4K:L\.$*2%+$P912%=3J'B% *(@)1*8QZ<:%* "'Z="EMH;)*]RN4A'I2\#
M-("DCC I;E=W&"]LMJ/+HRO>4'%BT:J.$(E5PR5DW:I $?;HLC]1O5./2 #T
MU"NMFQO%KSE-2BDMB'$J/S+$P$SX>X^J(:\WR@M5/Y]4D: Z3G.(UF0,W[N^
M\KD-3%F!X^6Q-M@C79FDY/LTW#,9I+UJ+O)1^8I1>BH2HD1ZO3"O+5_TMHQK
MI-2*J[L[]7D+B9)FLJV%.L]I,C.<M1RBKJFNN6;K\BC'EVQ)F0$@&1T^8"?+
MMB0KLDV"X9V5XXC[1L&&:O;D<,DU+DOI^@"EQ3D@81,X.=T>JC9H!S>1)/I(
M  '#5"9KF5VS-]3E<Z?*W:)2 @2X#1( BS<=Q^BL=N2RR@>8>)5\1]9F8.5)
M@!4U"J4$BG-/]D $.DW27]GJ#G3GK5D;@VE"I22)#03])YQ/S,I'A&/0M@67
M;;AT[MRU+=@73Y8SA^XAH9A'KOUS&ZS*O56R*:CI0QN(B<1$1TN/(N[BLZVK
MM:IL[IMZ%N5JBJ1=!O/13*52073-U)N$2/45BI+I'XE,%!*/$!KH@C#UL'XB
M=+'7=XLQ\[55KZRKJSH!PHJ(EZ1,H=5B8QS=/B.B"*[7"N)&(./98PL%F9VS
M<Q[I1K9\$W5=,7:1D'3-PJBQ(HJV<(G$AR"-#%$0Y:((OK+QI9F.8M: L&S[
M8LFWEEE'*D+:D%'04<HY7J*S@[6/002.L>HU,(5&OST01XD1@G#\!<4C=T'B
MVPXFZI=!5I*W''VI#-)J29KJ"JX9OY!%J1P[:N%!J<BAC%./.NB"*RF$,-*G
M,HKB+&:BACBH<YK(ML3'4,/490P_3_,<1XU'CH@C*+<L2T+7,N:V;4MJVTU@
M HA P<;$**=/"BJC!L@=4GR$=$$9@1,"D*40X=!2B4:B7R@ ?=&H!H@CMT$_
M=+_)#^+1! Z9 S-/V:]39Q6),CW<"C7U_=0-KSDBV34J(>B=9DQ73!2@?=$:
MZEZ2QMNG\^LI4C_J('VPSJJRH;3-AI:C_E)@>9[>)EZ.4Z(O:)FR5 0"A@L:
M\BA_M"G"G !KX:FD8I;5 3N5")]K[?\ %$(K(*Q*BDT545#B0TN1\/AX0WTG
MO<W-I)&-%['<M.3A7I*YMB]$J\.%0""Z@T^9PFP.&;UYH$]H\YO3T[XQ+R&Y
M#Y*&I_[3GW0W,AO>WX*U^F;$;Q2(%1(+N#O0HB/AP/#%I]FIMC!<*0D>??:(
M]P<;/M"H9KOV1GXFJ%S;WH4#ZI0W,CO5[H(N!^E;(')$:!3W-N7HHI^GHB@
M>&I-K#>G( +EZ:*>YQ'WPU-]RX\*'X>]"HQ&2WD]WA<#!&[.&+-0P43,O9UZ
M+"0:\S :+XAIQ_2/2DJFJ[G9W.-_:H&&[M[S4ZMT0 [T*AO);=3WN7J2K=IM
MLB(PYP'H71QQ=BHI\>%#*Q)@Z@\-/&,7Z+H4%+N.\C\;S8/H$^$,%WK.5F2J
M4H5R_*41[H8R=N/OPY6,:VW:3_&4>]$X+3A+0F[<:-43E$I^N47B4$D0( UJ
M)@H&MCI:/HK1?F4Y#[HY>:D^H<X:U+G4.K3M2H-(YR;*?68;RR.VW@PMY-+T
M[E/< Q),7:FY]RI8]W9WL>! X$4*<S=9&X+D:*& YS !B] #P#7MUZBW-%&;
M;@]CJ0T 076J1U>G[)*T(([9>F,;&(M$"IRJZ,J!U"//0F7;H5>$2;MN5O;>
M;>QM"0NVJ0QR_P =L6_HQLAC2=@)^*<>0@+*GD[?>/FKM<0IU&%0P@%-<VY
M_>W:M53>TNBO4=4N)4DC_A5(B+4LC-HIJ,(LRFUL2_94%'TD01S8A"%(!# )
M0)0E#]52AXU$1$:CXZA6E;TA3@ <]7LB0"0%3F9^,70T\>7SY:SPN$'3X=-?
ME31!'.B"%H@A:((7QY\?X<-$$+1!"T01P !6H"-!\*^7] ?'1!'.B"%H@C__
!V0$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701098697120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover - shares<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Aug. 09, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-Q<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentQuarterlyReport', window );">Document Quarterly Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Jun. 30,  2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">1-11398<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">CPI
AEROSTRUCTURES, INC.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000889348<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">11-2520310<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">NY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">91
    Heartland Blvd.<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">Edgewood<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">NY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">11717<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">(631)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">586-5200<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, $0.001 par value per share<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">CVU<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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Non-accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">13,036,622<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentQuarterlyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an quarterly report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-Q<br> -Number 240<br> -Section 308<br> -Subsection a<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentQuarterlyReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701096923920">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 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_us-gaap_AssetsCurrentAbstract', window );"><strong>Current Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Cash', window );">Cash</a></td>
<td class="nump">$ 1,936,697<span></span>
</td>
<td class="nump">$ 5,094,794<span></span>
</td>
</tr>
<tr class="re">
<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, net of allowance for credit losses</a></td>
<td class="nump">6,228,639<span></span>
</td>
<td class="nump">4,352,196<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetCurrent', window );">Contract assets, net</a></td>
<td class="nump">34,183,988<span></span>
</td>
<td class="nump">35,312,068<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventory</a></td>
<td class="nump">1,132,520<span></span>
</td>
<td class="nump">1,436,647<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Refundable income taxes</a></td>
<td class="nump">40,000<span></span>
</td>
<td class="nump">40,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_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">563,147<span></span>
</td>
<td class="nump">678,026<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total Current Assets</a></td>
<td class="nump">44,084,991<span></span>
</td>
<td class="nump">46,913,731<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right-of-use assets</a></td>
<td class="nump">3,808,903<span></span>
</td>
<td class="nump">4,740,193<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">793,664<span></span>
</td>
<td class="nump">794,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_DeferredIncomeTaxAssetsNet', window );">Deferred tax asset</a></td>
<td class="nump">19,582,905<span></span>
</td>
<td class="nump">19,938,124<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">1,784,254<span></span>
</td>
<td class="nump">1,784,254<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="nump">162,803<span></span>
</td>
<td class="nump">189,774<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total Assets</a></td>
<td class="nump">70,217,520<span></span>
</td>
<td class="nump">74,360,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_LiabilitiesCurrentAbstract', window );"><strong>Current Liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">14,528,893<span></span>
</td>
<td class="nump">10,487,012<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued expenses</a></td>
<td class="nump">5,994,894<span></span>
</td>
<td class="nump">10,275,695<span></span>
</td>
</tr>
<tr class="ro">
<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">2,482,535<span></span>
</td>
<td class="nump">5,937,629<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingencyAccrualCarryingValueCurrent', window );">Loss reserve</a></td>
<td class="nump">59,922<span></span>
</td>
<td class="nump">337,351<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LinesOfCreditCurrent', window );">Current portion of line of credit</a></td>
<td class="nump">2,640,000<span></span>
</td>
<td class="nump">2,400,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_OtherLongTermDebtCurrent', window );">Current portion of long-term debt</a></td>
<td class="nump">30,663<span></span>
</td>
<td class="nump">44,498<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liabilities, current</a></td>
<td class="nump">2,076,851<span></span>
</td>
<td class="nump">1,999,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_TaxesPayableCurrent', window );">Income taxes payable</a></td>
<td class="nump">31,734<span></span>
</td>
<td class="nump">30,107<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total Current Liabilities</a></td>
<td class="nump">27,845,492<span></span>
</td>
<td class="nump">31,511,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_LongTermLineOfCredit', window );">Line of credit, net of current portion</a></td>
<td class="nump">16,200,000<span></span>
</td>
<td class="nump">17,640,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_OperatingLeaseLiabilityNoncurrent', window );">Long-term operating lease liabilities</a></td>
<td class="nump">2,044,237<span></span>
</td>
<td class="nump">3,100,571<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLongTermDebtNoncurrent', window );">Long-term debt, net of current portion</a></td>
<td class="nump">10,821<span></span>
</td>
<td class="nump">26,483<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_Liabilities', window );">Total Liabilities</a></td>
<td class="nump">46,100,550<span></span>
</td>
<td class="nump">52,278,404<span></span>
</td>
</tr>
<tr class="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>Shareholders&#8217; Equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock - $.001 par value; authorized 50,000,000 shares, 12,962,863 and 12,771,434 shares, respectively, issued and outstanding</a></td>
<td class="nump">12,963<span></span>
</td>
<td class="nump">12,771<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">74,329,545<span></span>
</td>
<td class="nump">73,872,679<span></span>
</td>
</tr>
<tr class="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 );">Accumulated deficit</a></td>
<td class="num">(50,225,538)<span></span>
</td>
<td class="num">(51,803,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_StockholdersEquity', window );">Total Shareholders&#8217; Equity</a></td>
<td class="nump">24,116,970<span></span>
</td>
<td class="nump">22,081,728<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_LiabilitiesAndStockholdersEquity', window );">Total Liabilities and Shareholders&#8217; Equity</a></td>
<td class="nump">$ 70,217,520<span></span>
</td>
<td class="nump">$ 74,360,132<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://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_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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_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_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Cash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/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(4))<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 45<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477796/946-210-45-21<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 210<br> -Topic 946<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477796/946-210-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Cash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_ContractWithCustomerAssetNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, 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 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately 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 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 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 3: 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 (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<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/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<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 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482598/350-20-45-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<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/2147482573/350-20-50-1<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<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_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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_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_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LinesOfCreditCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 carrying value as of the balance sheet date of the current portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the 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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<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_LinesOfCreditCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LongTermLineOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 carrying value as of the balance sheet date of the noncurrent portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the 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> -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> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481573/470-10-45-13<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481573/470-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_LongTermLineOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LossContingencyAccrualCarryingValueCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 loss contingency liability expected to be resolved within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-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_LossContingencyAccrualCarryingValueCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 long-term debt classified as other, payable within one year or the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>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><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(13)(a)(4))<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_OtherLongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OtherLongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 long-term debt classified as other, payable after one year or the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>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://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(13)(a)(4))<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_OtherLongTermDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701096848448">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th"><div>Jun. 30, 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_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_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.001<span></span>
</td>
<td class="nump">$ 0.001<span></span>
</td>
</tr>
<tr class="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, authorized</a></td>
<td class="nump">50,000,000<span></span>
</td>
<td class="nump">50,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, issued</a></td>
<td class="nump">12,962,863<span></span>
</td>
<td class="nump">12,771,434<span></span>
</td>
</tr>
<tr class="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, outstanding</a></td>
<td class="nump">12,962,863<span></span>
</td>
<td class="nump">12,771,434<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701098677872">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (UNAUDITED) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_IncomeStatementAbstract', window );"><strong>Income Statement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 20,810,334<span></span>
</td>
<td class="nump">$ 20,547,555<span></span>
</td>
<td class="nump">$ 39,891,477<span></span>
</td>
<td class="nump">$ 42,564,223<span></span>
</td>
</tr>
<tr class="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">15,694,910<span></span>
</td>
<td class="nump">15,943,555<span></span>
</td>
<td class="nump">31,222,304<span></span>
</td>
<td class="nump">33,297,707<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">5,115,424<span></span>
</td>
<td class="nump">4,604,000<span></span>
</td>
<td class="nump">8,669,173<span></span>
</td>
<td class="nump">9,266,516<span></span>
</td>
</tr>
<tr class="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">2,775,935<span></span>
</td>
<td class="nump">2,806,480<span></span>
</td>
<td class="nump">5,489,839<span></span>
</td>
<td class="nump">5,675,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_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="nump">2,339,489<span></span>
</td>
<td class="nump">1,797,520<span></span>
</td>
<td class="nump">3,179,334<span></span>
</td>
<td class="nump">3,590,978<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense</a></td>
<td class="num">(587,971)<span></span>
</td>
<td class="num">(541,655)<span></span>
</td>
<td class="num">(1,220,106)<span></span>
</td>
<td class="num">(1,152,551)<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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before provision for income taxes</a></td>
<td class="nump">1,751,518<span></span>
</td>
<td class="nump">1,255,865<span></span>
</td>
<td class="nump">1,959,228<span></span>
</td>
<td class="nump">2,438,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_IncomeTaxExpenseBenefit', window );">Provision for income taxes</a></td>
<td class="nump">341,572<span></span>
</td>
<td class="nump">98,789<span></span>
</td>
<td class="nump">381,044<span></span>
</td>
<td class="nump">298,046<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,409,946<span></span>
</td>
<td class="nump">$ 1,157,076<span></span>
</td>
<td class="nump">$ 1,578,184<span></span>
</td>
<td class="nump">$ 2,140,381<span></span>
</td>
</tr>
<tr class="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 );">Income per common share, basic</a></td>
<td class="nump">$ 0.11<span></span>
</td>
<td class="nump">$ 0.09<span></span>
</td>
<td class="nump">$ 0.13<span></span>
</td>
<td class="nump">$ 0.17<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Income per common share, diluted</a></td>
<td class="nump">$ 0.11<span></span>
</td>
<td class="nump">$ 0.09<span></span>
</td>
<td class="nump">$ 0.12<span></span>
</td>
<td class="nump">$ 0.17<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Shares used in computing income per common share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">&#160;&#160;Basic</a></td>
<td class="nump">12,440,426<span></span>
</td>
<td class="nump">12,558,793<span></span>
</td>
<td class="nump">12,515,824<span></span>
</td>
<td class="nump">12,539,652<span></span>
</td>
</tr>
<tr class="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 );">&#160;&#160;Diluted</a></td>
<td class="nump">12,554,153<span></span>
</td>
<td class="nump">12,625,241<span></span>
</td>
<td class="nump">12,656,753<span></span>
</td>
<td class="nump">12,606,100<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate cost of goods produced and sold and services rendered during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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_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_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 interest expense classified as operating and nonoperating. Includes, but is not limited to, cost of borrowing accounted for as interest expense.</p></div>
<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 (d)<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/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 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><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 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-24<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<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/2147483013/835-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_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>16
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701098763424">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (UNAUDITED) - USD ($)<br></strong></div></th>
<th class="th"><div>Common Stock [Member]</div></th>
<th class="th"><div>Additional Paid-in Capital [Member]</div></th>
<th class="th"><div>Retained Earnings [Member]</div></th>
<th class="th"><div>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 );">Beginning balance, value at Dec. 31, 2022</a></td>
<td class="nump">$ 12,507<span></span>
</td>
<td class="nump">$ 73,189,449<span></span>
</td>
<td class="num">$ (69,004,926)<span></span>
</td>
<td class="nump">$ 4,197,030<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 );">Beginning balance (in shares) at Dec. 31, 2022</a></td>
<td class="nump">12,506,795<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_NetIncomeLoss', window );">Net income</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">983,305<span></span>
</td>
<td class="nump">983,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_StockIssuedDuringPeriodValueRestrictedStockAwardGross', window );">Issuance of common stock upon settlement of restricted stock, net</a></td>
<td class="nump">$ 19<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">19<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Issuance of common stock upon settlement of restricted stock, net (in shares)</a></td>
<td class="nump">19,247<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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">338,904<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">338,904<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 );">Ending balance, value at Mar. 31, 2023</a></td>
<td class="nump">$ 12,526<span></span>
</td>
<td class="nump">73,528,353<span></span>
</td>
<td class="num">(68,021,621)<span></span>
</td>
<td class="nump">5,519,258<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 );">Ending balance (in shares) at Mar. 31, 2023</a></td>
<td class="nump">12,526,042<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance, value at Dec. 31, 2022</a></td>
<td class="nump">$ 12,507<span></span>
</td>
<td class="nump">73,189,449<span></span>
</td>
<td class="num">(69,004,926)<span></span>
</td>
<td class="nump">4,197,030<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 );">Beginning balance (in shares) at Dec. 31, 2022</a></td>
<td class="nump">12,506,795<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_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">2,140,381<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 );">Ending balance, value at Jun. 30, 2023</a></td>
<td class="nump">$ 12,727<span></span>
</td>
<td class="nump">73,708,368<span></span>
</td>
<td class="num">(66,864,545)<span></span>
</td>
<td class="nump">6,856,550<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 );">Ending balance (in shares) at Jun. 30, 2023</a></td>
<td class="nump">12,727,167<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance, value at Mar. 31, 2023</a></td>
<td class="nump">$ 12,526<span></span>
</td>
<td class="nump">73,528,353<span></span>
</td>
<td class="num">(68,021,621)<span></span>
</td>
<td class="nump">5,519,258<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 );">Beginning balance (in shares) at Mar. 31, 2023</a></td>
<td class="nump">12,526,042<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">1,157,076<span></span>
</td>
<td class="nump">1,157,076<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross', window );">Issuance of common stock upon settlement of restricted stock, net</a></td>
<td class="nump">$ 201<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">201<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Issuance of common stock upon settlement of restricted stock, net (in shares)</a></td>
<td class="nump">201,125<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">180,015<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">180,015<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 );">Ending balance, value at Jun. 30, 2023</a></td>
<td class="nump">$ 12,727<span></span>
</td>
<td class="nump">73,708,368<span></span>
</td>
<td class="num">(66,864,545)<span></span>
</td>
<td class="nump">6,856,550<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 );">Ending balance (in shares) at Jun. 30, 2023</a></td>
<td class="nump">12,727,167<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance, value at Dec. 31, 2023</a></td>
<td class="nump">$ 12,771<span></span>
</td>
<td class="nump">73,872,679<span></span>
</td>
<td class="num">(51,803,722)<span></span>
</td>
<td class="nump">$ 22,081,728<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 );">Beginning balance (in shares) at Dec. 31, 2023</a></td>
<td class="nump">12,771,434<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,771,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_NetIncomeLoss', window );">Net income</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">168,238<span></span>
</td>
<td class="nump">$ 168,238<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross', window );">Issuance of common stock upon settlement of restricted stock, net</a></td>
<td class="nump">$ 13<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">13<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Issuance of common stock upon settlement of restricted stock, net (in shares)</a></td>
<td class="nump">13,334<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">281,510<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">281,510<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 );">Ending balance, value at Mar. 31, 2024</a></td>
<td class="nump">$ 12,784<span></span>
</td>
<td class="nump">74,154,189<span></span>
</td>
<td class="num">(51,635,484)<span></span>
</td>
<td class="nump">22,531,489<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 );">Ending balance (in shares) at Mar. 31, 2024</a></td>
<td class="nump">12,784,768<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance, value at Dec. 31, 2023</a></td>
<td class="nump">$ 12,771<span></span>
</td>
<td class="nump">73,872,679<span></span>
</td>
<td class="num">(51,803,722)<span></span>
</td>
<td class="nump">$ 22,081,728<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 );">Beginning balance (in shares) at Dec. 31, 2023</a></td>
<td class="nump">12,771,434<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,771,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_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">$ 1,578,184<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 );">Ending balance, value at Jun. 30, 2024</a></td>
<td class="nump">$ 12,963<span></span>
</td>
<td class="nump">74,329,545<span></span>
</td>
<td class="num">(50,225,538)<span></span>
</td>
<td class="nump">$ 24,116,970<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 );">Ending balance (in shares) at Jun. 30, 2024</a></td>
<td class="nump">12,962,863<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,962,863<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 );">Beginning balance, value at Mar. 31, 2024</a></td>
<td class="nump">$ 12,784<span></span>
</td>
<td class="nump">74,154,189<span></span>
</td>
<td class="num">(51,635,484)<span></span>
</td>
<td class="nump">$ 22,531,489<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 );">Beginning balance (in shares) at Mar. 31, 2024</a></td>
<td class="nump">12,784,768<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_NetIncomeLoss', window );">Net income</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">1,409,946<span></span>
</td>
<td class="nump">1,409,946<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross', window );">Issuance of common stock upon settlement of restricted stock, net</a></td>
<td class="nump">$ 179<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">179<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Issuance of common stock upon settlement of restricted stock, net (in shares)</a></td>
<td class="nump">178,095<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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">175,356<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">175,356<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 );">Ending balance, value at Jun. 30, 2024</a></td>
<td class="nump">$ 12,963<span></span>
</td>
<td class="nump">$ 74,329,545<span></span>
</td>
<td class="num">$ (50,225,538)<span></span>
</td>
<td class="nump">$ 24,116,970<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 );">Ending balance (in shares) at Jun. 30, 2024</a></td>
<td class="nump">12,962,863<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,962,863<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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481089/718-20-55-13<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481089/718-20-55-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_StockIssuedDuringPeriodSharesRestrictedStockAwardGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 related to Restricted Stock Awards issued during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>17
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701098561216">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">6 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_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract', 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">$ 1,578,184<span></span>
</td>
<td class="nump">$ 2,140,381<span></span>
</td>
</tr>
<tr class="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 (used in) 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_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">202,413<span></span>
</td>
<td class="nump">233,090<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfFinancingCosts', window );">Amortization of debt issuance cost</a></td>
<td class="nump">26,971<span></span>
</td>
<td class="nump">58,743<span></span>
</td>
</tr>
<tr class="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">457,058<span></span>
</td>
<td class="nump">519,139<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes', window );">Deferred income taxes</a></td>
<td class="nump">355,219<span></span>
</td>
<td class="nump">295,362<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProvisionForLoanLeaseAndOtherLosses', window );">Provision for credit losses</a></td>
<td class="nump">144,565<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_OperatingLeaseRightOfUseAssetAmortizationExpense', window );">Amortization of operating lease right-of-use assets</a></td>
<td class="nump">931,290<span></span>
</td>
<td class="nump">880,144<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Increase in accounts receivable</a></td>
<td class="num">(2,021,008)<span></span>
</td>
<td class="num">(3,763,529)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInsuranceSettlementsReceivable', window );">Decrease in insurance receivable</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">3,600,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_IncreaseDecreaseInContractWithCustomerAsset', window );">Decrease (increase) in contract assets</a></td>
<td class="nump">1,128,080<span></span>
</td>
<td class="num">(3,577,521)<span></span>
</td>
</tr>
<tr class="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 in inventory</a></td>
<td class="nump">304,127<span></span>
</td>
<td class="nump">574,163<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Decrease in prepaid expenses and other assets</a></td>
<td class="nump">114,879<span></span>
</td>
<td class="nump">410,116<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities', window );">(Decrease) increase in accounts payable and accrued expenses</a></td>
<td class="num">(64,565)<span></span>
</td>
<td class="nump">1,674,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_IncreaseDecreaseInContractWithCustomerLiability', window );">(Decrease) increase in contract liabilities</a></td>
<td class="num">(3,455,094)<span></span>
</td>
<td class="nump">2,603,628<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_cvu_IncreaseDecreaseInLitigationSettlementObligation', window );">Decrease in settlement of litigation obligation</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(3,600,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_IncreaseDecreaseInOperatingLeaseLiability', window );">Decrease in operating lease liabilities</a></td>
<td class="num">(978,541)<span></span>
</td>
<td class="num">(852,156)<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_cvu_IncreaseDecreaseInLossReserve', window );">Decrease in loss reserve</a></td>
<td class="num">(277,429)<span></span>
</td>
<td class="num">(326,033)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable', window );">Increase in income taxes payable</a></td>
<td class="nump">1,627<span></span>
</td>
<td class="nump">5,478<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash (used in) provided by operating activities</a></td>
<td class="num">(1,552,224)<span></span>
</td>
<td class="nump">875,137<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchase of property and equipment</a></td>
<td class="num">(202,021)<span></span>
</td>
<td class="num">(59,265)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(202,021)<span></span>
</td>
<td class="num">(59,265)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract', window );"><strong>Cash flows from financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RepaymentsOfLinesOfCredit', window );">Principal payments on line of credit</a></td>
<td class="num">(1,200,000)<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_RepaymentsOfLongTermDebt', window );">Principal payments on long-term debt</a></td>
<td class="num">(29,497)<span></span>
</td>
<td class="num">(1,528,091)<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_cvu_RepaymentsOfInsuranceFinancingObligation', window );">Repayments of insurance financing obligation</a></td>
<td class="num">(174,355)<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_PaymentsOfDebtIssuanceCosts', window );">Debt issuance costs paid</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(54,334)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash used in financing activities</a></td>
<td class="num">(1,403,852)<span></span>
</td>
<td class="num">(1,582,425)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect', window );">Net decrease in cash</a></td>
<td class="num">(3,158,097)<span></span>
</td>
<td class="num">(766,553)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Cash at beginning of period</a></td>
<td class="nump">5,094,794<span></span>
</td>
<td class="nump">3,847,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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Cash at end of period</a></td>
<td class="nump">1,936,697<span></span>
</td>
<td class="nump">3,080,672<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cvu_CashPaidDuringPeriodForAbstract', window );"><strong>Cash paid during the period for:</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_InterestPaidNet', window );">Interest</a></td>
<td class="nump">1,218,775<span></span>
</td>
<td class="nump">1,193,411<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">$ 35,000<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cvu_CashPaidDuringPeriodForAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">cvu_CashPaidDuringPeriodForAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cvu_</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_cvu_IncreaseDecreaseInLitigationSettlementObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 litigation settlement obligation.</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;">cvu_IncreaseDecreaseInLitigationSettlementObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cvu_</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_cvu_IncreaseDecreaseInLossReserve">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 increase (decrease) in loss reserve.</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;">cvu_IncreaseDecreaseInLossReserve</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cvu_</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_cvu_RepaymentsOfInsuranceFinancingObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Repayments of insurance financing obligation.</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;">cvu_RepaymentsOfInsuranceFinancingObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cvu_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfFinancingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amortization expense attributable to debt issuance costs.</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(8))<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 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-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_AmortizationOfFinancingCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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; including, but not limited to, 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/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/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 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><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> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not 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_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncreaseDecreaseInContractWithCustomerAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/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_IncreaseDecreaseInContractWithCustomerAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_IncreaseDecreaseInDeferredIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa.</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_IncreaseDecreaseInDeferredIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncreaseDecreaseInInsuranceSettlementsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 insurance settlements receivable, which are amounts due in settlement of a claim for reimbursement from an insurance company when the Company has suffered a loss covered under an insurance policy. The expectation is that such reimbursement will be received within one year 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> -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_IncreaseDecreaseInInsuranceSettlementsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncreaseDecreaseInOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</p></div>
<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 17<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-17<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 25<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<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_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-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_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://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_OperatingLeaseRightOfUseAssetAmortizationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfDebtIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term 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 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (e)<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_PaymentsOfDebtIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProvisionForLoanLeaseAndOtherLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 related loan transactions, lease transactions, credit loss from transactions other than loan and lease transactions, and other loss based on assessment of uncollectability from the counterparty to reduce the account to their net realizable 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> -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><br>Reference 2: 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 (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-11B<br><br>Reference 3: 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(11))<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_ProvisionForLoanLeaseAndOtherLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_RepaymentsOfLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.</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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<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(f))<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_RepaymentsOfLinesOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_RepaymentsOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for debt initially having maturity due after one year or beyond 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 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<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(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701098916192">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INTERIM FINANCIAL STATEMENTS<br></strong></div></th>
<th class="th" colspan="1">6 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>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_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock', window );">INTERIM FINANCIAL STATEMENTS</a></td>
<td class="text"><p id="xdx_809_eus-gaap--OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_z3ZIuaMgKUk5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<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="width: 0px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="width: 48px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>1.</b></span></td>
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_825_znsVE15PVcVk">INTERIM FINANCIAL
    STATEMENTS</span></b></span></td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p id="xdx_84F_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_zBput2Hq1zEc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Basis
of Presentation</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company consists of CPI Aerostructures, Inc. (&#8220;CPI Aero&#8221;), Welding Metallurgy, Inc. (&#8220;WMI&#8221;), a wholly
owned subsidiary of CPI Aero, and Compac Development Corporation, a wholly owned subsidiary of WMI (collectively, the &#8220;Company&#8221;,
&#8220;we&#8221;, &#8220;us&#8221;, or &#8220;our&#8221;).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
condensed consolidated interim financial statements of the Company as of June 30, 2024 and for the three and six months ended
June 30, 2024 and 2023 have been prepared pursuant to the rules and regulations of the Securities and Exchange Commission (&#8220;SEC&#8221;).
Certain information and notes normally included in financial statements prepared in accordance with generally accepted accounting
principles in the United States of America (&#8220;U.S. GAAP&#8221;) have been condensed or omitted pursuant to those rules and
regulations. The consolidated balance sheet at December 31, 2023 has been derived from audited consolidated financial statements,
but does not include all of the information and notes required by U.S. GAAP. The Company believes that the disclosures are adequate
to make the information presented not misleading.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">All
adjustments that, in the opinion of the management, are necessary for a fair presentation for the periods presented have been
reflected. Such adjustments are of a normal, recurring nature. It is suggested that these consolidated financial statements be
read in conjunction with the consolidated financial statements and notes thereto included in the Company&#8217;s Annual Report
on Form 10-K for the year ended December 31, 2023 (the &#8220;Form 10-K&#8221;). The results of operations for interim periods
are not necessarily indicative of the operating results to be expected for the full year or any other interim period.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">An
operating segment, in part, is a component of an enterprise whose operating results are regularly reviewed by the chief operating
decision maker (the &#8220;CODM&#8221;) to make decisions about resources to be allocated to the segment and assess its performance.
Operating segments may be aggregated only to a limited extent. The Company&#8217;s CODM, the Chief Executive Officer, reviews
financial information presented on a consolidated basis for purposes of making operating decisions and assessing financial performance.
The Company has determined that it has a single operating and reportable segment.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company maintains its cash in multiple financial institutions. The balances are insured by the Federal Deposit Insurance Corporation.
From time to time, the Company&#8217;s balances may exceed insurance limits. As of June 30, 2024, the Company had $<span id="xdx_90C_eus-gaap--CashUninsuredAmount_iI_c20240630_zs50r1Ntzv9a" title="Uninsured balance">1,781,798</span> of
uninsured balances. The Company limits its credit risk by selecting financial institutions considered to be highly creditworthy.</span></p>

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

<p id="xdx_848_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zkqtcSIPtq9h" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Recently
Issued Accounting Standards &#8211; Not Adopted</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
December 2023, the FASB issued ASU No. 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which focuses
on the rate reconciliation and income taxes paid. ASU No. 2023-09 requires a public business entity (&#8220;PBE&#8221;) to disclose,
on an annual basis, a tabular rate reconciliation using both percentages and currency amounts, broken out into specified categories
with certain reconciling items further broken out by nature and jurisdiction to the extent those items exceed a specified threshold.
In addition, all entities are required to disclose income taxes paid, net of refunds received disaggregated by federal, state/local,
and foreign and by jurisdiction if the amount is at least 5% of total income tax payments, net of refunds received. For PBEs,
the new standard is effective for annual periods beginning after December 15, 2024, with early adoption permitted. An entity may
apply the amendments in this ASU prospectively by providing the revised disclosures for the period ending December 31, 2025 and
continuing to provide the pre-ASU disclosures for the prior periods, or may apply the amendments retrospectively by providing
the revised disclosures for all period presented. We expect this ASU to only impact our disclosures with no impacts to our results
of operations, cash flows, and financial condition.</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_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_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 general note to the financial statements for the reporting entity which may include, descriptions of the basis of presentation, business description, significant accounting policies, consolidations, reclassifications, new pronouncements not yet adopted and changes in 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> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/235/tableOfContent<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 275<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/275/tableOfContent<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/810/tableOfContent<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 250<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/250/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_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701097767072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVENUE<br></strong></div></th>
<th class="th" colspan="1">6 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_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2.</b></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b><span id="xdx_826_z2qK1HazBDXk">REVENUE</span></b></span><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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Disaggregation
of Revenue</b></span></p>

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

<p id="xdx_894_eus-gaap--DisaggregationOfRevenueTableTextBlock_zzFYFTAEhci8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following tables present the Company&#8217;s revenue disaggregated by contract type and revenue recognition method:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Three months ended<br/> June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Six months ended<br/> June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; text-align: left">Government subcontracts</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630__srt--ProductOrServiceAxis__custom--GovernmentSubcontractsMember_zH91agajtIc3" style="width: 12%; text-align: right" title="Revenue">16,963,874</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 id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__srt--ProductOrServiceAxis__custom--GovernmentSubcontractsMember_zqA8ca6gMa4" style="width: 12%; text-align: right" title="Revenue">16,502,026</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 id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630__srt--ProductOrServiceAxis__custom--GovernmentSubcontractsMember_zJaZqB41tEie" style="width: 12%; text-align: right" title="Revenue">31,965,642</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 id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__srt--ProductOrServiceAxis__custom--GovernmentSubcontractsMember_zpF7hAaQUVN6" style="width: 12%; text-align: right" title="Revenue">35,174,919</td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Prime government contracts</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630__srt--ProductOrServiceAxis__custom--PrimeGovernmentContractsMember_zrJzGNAdK9v6" style="text-align: right" title="Revenue">2,601,347</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__srt--ProductOrServiceAxis__custom--PrimeGovernmentContractsMember_zy3NydqhNte2" style="text-align: right" title="Revenue">2,710,925</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630__srt--ProductOrServiceAxis__custom--PrimeGovernmentContractsMember_zCjHES41x8ca" style="text-align: right" title="Revenue">5,383,228</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__srt--ProductOrServiceAxis__custom--PrimeGovernmentContractsMember_zhdB6vfbC2fb" style="text-align: right" title="Revenue">4,118,959</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; padding-bottom: 1pt">Commercial contracts</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630__srt--ProductOrServiceAxis__custom--CommercialContractsMember_zkqS7ea4ZpP" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue">1,245,113</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__srt--ProductOrServiceAxis__custom--CommercialContractsMember_zUy9NP2utVpe" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue">1,334,604</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630__srt--ProductOrServiceAxis__custom--CommercialContractsMember_zBchFxg9gomh" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue">2,542,607</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__srt--ProductOrServiceAxis__custom--CommercialContractsMember_zkPTL6CTQ9Mc" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue">3,270,345</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630_zTaeiCyrSty9" style="border-bottom: Black 2.5pt double; text-align: right">20,810,334</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630_zmWdSPZdmrD8" style="border-bottom: Black 2.5pt double; text-align: right">20,547,555</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630_zXht3I28nWNh" style="border-bottom: Black 2.5pt double; text-align: right">39,891,477</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630_zd0DfriCodZ1" style="border-bottom: Black 2.5pt double; text-align: right">42,564,223</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
</table>

<p style="margin-top: 0; margin-bottom: 0">&#160;</p>

<p style="margin-top: 0; margin-bottom: 0"></p>





<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Three months ended<br/> June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Six months ended<br/> June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; text-align: left">Revenue recognized using over time revenue recognition model</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zrR6PoGSFfLe" style="width: 12%; text-align: right">20,596,186</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 id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zIT8PVETbA1h" style="width: 12%; text-align: right">18,669,843</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 id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zzqmhPIRZTHl" style="width: 12%; text-align: right">39,466,552</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 id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zXjYOXrafqeg" style="width: 12%; text-align: right">39,300,073</td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Revenue recognized using point in time revenue recognition model</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zWjKION34EWd" style="border-bottom: Black 1pt solid; text-align: right">214,148</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zdeyV5IDlwUc" style="border-bottom: Black 1pt solid; text-align: right">1,877,712</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zkoqkl9slWa4" style="border-bottom: Black 1pt solid; text-align: right">424,925</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_z2bB08FFed47" style="border-bottom: Black 1pt solid; text-align: right">3,264,150</td><td style="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">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630_zZ8Kv6tG2akh" style="border-bottom: Black 2.5pt double; text-align: right">20,810,334</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630_zjOwwFmwo4F1" style="border-bottom: Black 2.5pt double; text-align: right">20,547,555</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630_zL3Sfn6ynKWd" style="border-bottom: Black 2.5pt double; text-align: right">39,891,477</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630_zh5LuEciEMdk" style="border-bottom: Black 2.5pt double; text-align: right">42,564,223</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
</table>

<p id="xdx_8AD_zn2BqDuiw2A9" 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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Favorable/(Unfavorable)
Adjustments to Gross Profit </i></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
review our Estimates at Completion (&#8220;EAC&#8221;) at least quarterly. Due to the nature of the work required to be performed
on many of the Company&#8217;s performance obligations, the estimation of total revenue and cost at completion is complex, subject
to many inputs, and requires significant judgment by management on a contract-by-contract basis. As part of this process, management
reviews information including, but not limited to, any outstanding key contract matters, progress towards completion and the related
program schedule, identified risks and opportunities, and the related changes in estimates of revenues and costs. The risks and
opportunities relate to management&#8217;s judgment about the ability and cost to achieve the schedule, consideration of customer-directed
delays or reductions in scheduled deliveries, technical requirements, customer activity levels, and related variable consideration.
Management must make assumptions and estimates regarding contract revenue and costs, including estimates of labor productivity
and availability, the complexity and scope of the work to be performed, the availability and cost of materials including any impact
from changing costs or inflation, the length of time to complete the performance obligation, the availability and timing of funding
from our customer, and overhead cost rates, among others.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Changes
in estimates of net sales, cost of sales, and the related impact to operating profit on contracts recognized over time are recognized
on a cumulative catch-up basis, which recognizes the cumulative effect of the profit changes on current and prior periods based
on a performance obligation&#8217;s percentage-of-completion in the current period. A significant change in one or more of these
estimates could affect the profitability of one or more of our performance obligations. Our EAC adjustments also include the establishment
of, and changes to, loss provisions for our contracts accounted for on a percentage-of-completion basis.</span></p>

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

<p id="xdx_899_ecustom--ScheduleOfEstimatesAtCompletionAdjustmentsTableTextBlock_zqUwFEWH7QY1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net
EAC adjustments had the following impact on our gross profit during the six months ended June 30, 2024 and 2023:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
<tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Six months ended</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2024</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2023</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 50%; text-align: left">Favorable adjustments</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98B_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20240101__20240630__srt--CumulativeEffectPeriodOfAdoptionAxis__custom--FavorableAdjustmentMember_z9YLm0hkPDm8" style="width: 12%; text-align: right" title="Favorable adjustments">1,490,839</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 id="xdx_98F_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20230101__20230630__srt--CumulativeEffectPeriodOfAdoptionAxis__custom--FavorableAdjustmentMember_zgSUWGJD73pa" style="width: 12%; text-align: right" title="Favorable adjustments">1,913,135</td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Unfavorable adjustments</td><td>&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_982_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20240101__20240630__srt--CumulativeEffectPeriodOfAdoptionAxis__custom--UnfavorableAdjustmentMember_zy2r1iSfJKfe" style="border-bottom: Black 1pt solid; text-align: right" title="Unfavorable adjustments">(2,849,017</td><td style="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">&#160;</td><td id="xdx_987_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20230101__20230630__srt--CumulativeEffectPeriodOfAdoptionAxis__custom--UnfavorableAdjustmentMember_zYyTxWV7RMpl" style="border-bottom: Black 1pt solid; text-align: right" title="Unfavorable adjustments">(2,189,848</td><td style="border-bottom: Black 1pt solid; 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">Net adjustments</td><td>&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98F_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20240101__20240630_zfeOy1qQlTL8" style="border-bottom: Black 2.5pt double; text-align: right" title="Net adjustments">(1,358,178</td><td style="border-bottom: Black 2.5pt double; text-align: left">)</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20230101__20230630_ztfYjmJgcNRh" style="border-bottom: Black 2.5pt double; text-align: right" title="Net adjustments">(276,713</td><td style="border-bottom: Black 2.5pt double; text-align: left">)</td></tr>
</table>

<p id="xdx_8AC_zrxdYQ9sk0Dg" 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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Transaction
Price Allocated to Remaining Performance Obligations</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of June 30, 2024, the aggregate amount of transaction price allocated to the remaining performance obligations was approximately
$<span id="xdx_90D_eus-gaap--RevenueRemainingPerformanceObligation_iI_pn5n6_c20240630_z6iyFkAifCO" title="Remaining performance obligations">87.0</span> million. This represents the amount of revenue the Company expects to recognize in the future on contracts with unsatisfied
or partially satisfied performance obligations as of June 30, 2024.</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_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-9<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-15<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org/606/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701098202320">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONTRACT ASSETS AND LIABILITIES<br></strong></div></th>
<th class="th" colspan="1">6 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_cvu_DisclosureContractAssetsAndLiabilitiesAbstract', window );"><strong>Contract Assets And Liabilities</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_cvu_ContractWithCustomerAssetAndLiabilityTextBlock', window );">CONTRACT ASSETS AND LIABILITIES</a></td>
<td class="text"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>3.</b></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b><span id="xdx_82A_zbpmTvTm6hRf">CONTRACT
    ASSETS AND LIABILITIES</span></b></span><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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Contract
assets represent revenue recognized on contracts in excess of amounts invoiced to the customers and the Company&#8217;s right
to consideration is conditional on something other than the passage of time. Amounts may not exceed their net realizable value.
Under the typical payment terms of our government as well as military contractor contracts, the customer retains a portion of
the contract price until completion of the contract, as a measure of protection for the customer. Our government and military
contractor contracts therefore typically result in revenue recognized in excess of billings, which we present as contract assets.
Contract assets are classified as current assets. The Company&#8217;s contract liabilities represent customer payments received
or due from the customer in excess of revenue recognized. Contract liabilities are classified as current liabilities.</span></p>

<p id="xdx_892_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_z6K2XTXHpErl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="display: none; visibility: hidden; font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B9_z3W71c8rA8Ll">Schedule of contract assets and liabilities</span></span></p>

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

<table cellpadding="0" cellspacing="0" id="xdx_30B_134_zryApOrgqaZd" style="font: 10pt Times New Roman, Times, Serif; width: 80%; border-collapse: collapse" summary="xdx: Disclosure - Schedule of Contract liabilities are classified as current liabilities (Details)">
<tr style="vertical-align: bottom">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" id="xdx_49C_20240630_zKba01UBnMx9" style="border-bottom: black 1pt solid"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June
30,&#160;</b></span></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2024&#160;</b></span></p></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" id="xdx_490_20231231_z0gnuge83NN5" style="border-bottom: black 1pt solid"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>December
31,&#160;</b></span></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2023</b></span></p></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_403_eus-gaap--ContractWithCustomerAssetNet_iI_maNCAz5zf_z0u83ePfyhpb" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; width: 46%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Contract
    assets</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 14%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">34,183,988</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 14%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">35,312,068</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_403_eus-gaap--ContractWithCustomerLiability_iI_msNCAz5zf_zxC03RkHEJr4" style="background-color: White">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Contract liabilities</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2,482,535</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">5,937,629</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
</table>
<p id="xdx_8AE_zR614hN7yVhc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font: 10pt Times New Roman, Times, Serif">Revenue
recognized for the six months ended June 30, 2024 and 2023 that was included in the contract liabilities balance as of January&#160;1,
2024 and 2023, respectively, was approximately $<span id="xdx_900_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pn5n6_c20240101__20240630_zrVV12SlGPh5" title="Revenue recognized that was included in contract liabilities">4.1</span> million and $<span id="xdx_90A_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pn5n6_c20230101__20230630_zPoFFaRdwhO9" title="Revenue recognized that was included in contract liabilities">1.9</span> million, respectively.</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_cvu_ContractWithCustomerAssetAndLiabilityTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 contract assets and contract liabilities from contract with customer.</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;">cvu_ContractWithCustomerAssetAndLiabilityTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cvu_</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_cvu_DisclosureContractAssetsAndLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">cvu_DisclosureContractAssetsAndLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cvu_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701097598688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVENTORY<br></strong></div></th>
<th class="th" colspan="1">6 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_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [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_InventoryDisclosureTextBlock', window );">INVENTORY</a></td>
<td class="text"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>4.</b></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b><span id="xdx_826_zOHrDObcDGm2">INVENTORY</span></b></span><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p id="xdx_890_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zI5Th5GmzpJg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
components of inventory consisted of the following:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 80%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" id="xdx_49C_20240630_zT6W0z9FlNIe" style="border-bottom: black 1pt solid"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June
30,&#160;&#160;</b></span></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2024&#160;&#160;</b></span></p></td>
    <td style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" id="xdx_495_20231231_zJ8gannY4xFj" style="border-bottom: black 1pt solid"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>December
31,&#160;&#160;</b></span></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2023&#160;</b></span></p></td>
    <td style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_400_eus-gaap--InventoryRawMaterials_iI_maINzyi6_z8aYJnAyaoCf" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; width: 46%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Raw
    materials</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 14%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">537,216</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 14%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">648,264</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_401_eus-gaap--InventoryWorkInProcess_iI_maINzyi6_zFHULIMbQaAh" style="background-color: White">
    <td style="vertical-align: bottom; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Work
    in progress</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">91,680</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">75,795</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_405_eus-gaap--InventoryFinishedGoods_iI_maINzyi6_zeBtlooqIDG" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Finished
    goods</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">503,624</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">712,588</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_40A_eus-gaap--InventoryNet_iTI_mtINzyi6_zuK9OOmlXy3a" style="background-color: White">
    <td style="vertical-align: bottom; text-align: justify; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inventory,
    net</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1,132,520</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1,436,647</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
</table>
<p id="xdx_8AA_z3782Kve7CYg" style="margin-top: 0; margin-bottom: 0">&#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_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in 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/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/330/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_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701100157568">
<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">6 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>Share-Based Payment Arrangement [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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>5.</b></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b><span id="xdx_82A_zlvdCaFpRErh">STOCK-BASED
    COMPENSATION</span></b></span><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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
2009, the Company adopted the Performance Equity Plan 2009 (the &#8220;2009 Plan&#8221;). The 2009 Plan reserved <span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_c20091231__us-gaap--PlanNameAxis__custom--PerformanceEquityPlan2009Member_zkqSDcBabaV1" title="Shahes reserved for issuance">500,000</span> common shares for issuance. The 2009 Plan provides for the issuance of either incentive stock options or nonqualified stock options to
employees, consultants or others who provide services to the Company. The Company has <span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_iI_c20240630__us-gaap--PlanNameAxis__custom--PerformanceEquityPlan2009Member_zEsneLtulGOb" title="Shares available for grant">2,364</span>&#160;shares available for grant under
the 2009 Plan as of June 30, 2024.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
2016, the Company adopted the 2016 Long Term Incentive Plan (the &#8220;2016 Plan&#8221;). The 2016 Plan reserved&#160;<span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_c20161231__us-gaap--PlanNameAxis__custom--LTIP2016Member_ztnadXzbXKSf">600,000</span>&#160;common
shares for issuance, provided that no more than <span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_c20161231__us-gaap--PlanNameAxis__custom--LTIP2016Member__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zvZRuy6Rev25">200,000</span> common shares be granted as incentive stock options. Awards may be made
or granted to employees, officers, directors and consultants in the form of incentive stock options, non-qualified stock options,
stock appreciation rights, restricted stock, restricted stock units and other stock-based awards. Any shares of common stock granted
in connection with awards other than stock options and stock appreciation rights are counted against the number of shares reserved
for issuance under the 2016 Plan as one and one-half shares of common stock for every one share of common stock granted in connection
with such award. Any shares of common stock granted in connection with stock options and stock appreciation rights are counted
against the number of shares reserved for issuance under the 2016 Plan as one share for every one share of common stock issuable
upon the exercise of such stock option or stock appreciation right awarded. In the fourth quarter of 2020, the Company added <span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized_c20201001__20201231__us-gaap--PlanNameAxis__custom--LTIP2016Member_zfl6mSRBGOW7" title="Increase in number of shares reserved for issuance">800,000</span>
shares to the 2016 Plan, which increased the number of shares reserved for issuance under the 2016 Plan to <span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_c20201231__us-gaap--PlanNameAxis__custom--LTIP2016Member_zi6d2FgiEp1d">1,400,000</span> shares. In
the second quarter of 2023, the Company added an additional <span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized_c20230401__20230630__us-gaap--PlanNameAxis__custom--LTIP2016Member_zb5BDpIL1V5k">800,000</span> shares to the 2016 Plan, which increased the number of shares
for reserved for issuance under the 2016 Plan to <span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_c20230630__us-gaap--PlanNameAxis__custom--LTIP2016Member_ziTUKHGUZm1b" title="Shares reserved for issuance">2,200,000</span> shares. The Company has <span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_iI_c20240630__us-gaap--PlanNameAxis__custom--LTIP2016Member_z5F79xiT2OZb">331,912</span> shares available for grant under the
2016 Plan as of June 30, 2024.</span></p>

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

<p id="xdx_891_eus-gaap--ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_zGn5rpIooxZ3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">Stock-based
compensation expense for restricted stock in the consolidated statements of operations is summarized as follows:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="display: none; visibility: hidden; background-color: White">
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td id="xdx_491_20240401__20240630_zb9WdUnm6YAd" style="border-bottom: black 1pt solid; vertical-align: top; text-align: right">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td id="xdx_492_20230401__20230630_zmfkDGSCkGg4" style="border-bottom: black 1pt solid; vertical-align: top; text-align: right">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td id="xdx_49A_20240101__20240630_zfPfFPpCbQaa" style="border-bottom: black 1pt solid; vertical-align: top; text-align: right">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td id="xdx_491_20230101__20230630_zIF232H0jeXd" style="border-bottom: black 1pt solid; vertical-align: top; text-align: right">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="6" style="border-bottom: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Three
    months ended</b><br/>
    <b>June 30,</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="6" style="border-bottom: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Six
    months ended</b><br/>
    <b>June 30,</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr style="vertical-align: bottom">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2024</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2023</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2024</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2023</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_40F_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--CostOfSalesMember_z9RnM3TvESS3" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; width: 40%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cost
    of sales</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl0575">&#8212;</span></span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">37,171</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(10,755</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">52,248</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_401_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--SellingGeneralAndAdministrativeExpensesMember_z9kePSkySZq" style="background-color: White">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Selling,
    general and administrative</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">175,536</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">143,045</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">467,813</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">466,891</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_40A_eus-gaap--AllocatedShareBasedCompensationExpense_zR8qgxWMDpoe" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Total stock-based
    compensation expense</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">175,536</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">180,216</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">457,058</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">519,139</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
</table>
<p id="xdx_8A6_zCF0mIn08Nuc" 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"></p>





<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">The
Company grants restricted stock units (&#8220;RSUs&#8221;) to its board of directors as partial compensation. These RSUs vest
quarterly on a straight-line basis over a <span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_dxL_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zV93bLWr7oL1" title="Vesting period::XDX::P1Y"><span style="-sec-ix-hidden: xdx2ixbrl0591">one-year</span></span> period.</span> <span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">At
June 30, 2024, the weighted average remaining amortization period was <span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dt_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z6mob7tfpYYd" title="Weighted average remaining amortization period">six months</span>.</span></p>

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

<p id="xdx_89B_eus-gaap--ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_zutusuLeDh03" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes activity related to outstanding RSUs for the six months ended June 30, 2024:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 60%">
<tr style="vertical-align: bottom">
    <td style="text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">RSUs</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Weighted Average&#160;</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Grant Date</b>&#160;</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Fair Value of</b>&#160;</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>RSUs</b></span></p></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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-vested &#8211; January 1, 2024 </span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iS_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zskxuSJNc56e" style="text-align: right" title="Non vested January 1, 2024"><span style="-sec-ix-hidden: xdx2ixbrl0597">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zqU5lRwfAhs4" style="text-align: right" title="Non vested January 1, 2024"><span style="-sec-ix-hidden: xdx2ixbrl0599">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="width: 30%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Granted </span></td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zrt4ryaLwpl1" style="width: 12%; text-align: right" title="Granted">181,323</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 id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zllch5iY4hqc" style="width: 12%; text-align: right" title="Granted">2.45</td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Vested </span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z19MbzxT8r85" style="text-align: right" title="Vested">(90,660</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_989_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zw2LXOtBqP55" style="text-align: right" title="Vested">2.45</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Forfeited </span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z6tXBsWIu0f1" style="border-bottom: Black 1pt solid; text-align: right" title="Forfeited"><span style="-sec-ix-hidden: xdx2ixbrl0609">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_98C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zXjZc01zUQ1" style="border-bottom: Black 1pt solid; text-align: right" title="Forfeited"><span style="-sec-ix-hidden: xdx2ixbrl0611">&#8212;</span></td><td style="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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-vested &#8211; June 30, 2024 </span></td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iE_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zZKE9YGev1Cb" style="border-bottom: Black 2.5pt double; text-align: right" title="Non vested June 30, 2024">90,663</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_985_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zJ3FvIOoMyw1" style="border-bottom: Black 2.5pt double; text-align: right" title="Non vested June 30, 2024">2.45</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
</table>

<p id="xdx_8AF_zXqQrBrTd1mf" 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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">The
Company grants&#160;shares of common stock (&#8220;Restricted Stock Awards&#8221; or &#8220;RSAs&#8221;) to select employees.
These shares have various vesting dates, ranging from vesting on the grant date to as late as <span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_dt_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember__srt--RangeAxis__srt--MaximumMember_zc0reXGYSq8i">four years</span> from the date of grant.
In the event that the employee&#8217;s employment is voluntarily terminated prior to certain vesting dates, portions of the shares
may be forfeited. </span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">At June 30, 2024, the weighted
average remaining amortization period was <span id="xdx_90B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zIQP2frc1aQ4" title="Weighted average remaining amortization period">3</span> years.</span></p>

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

<p id="xdx_898_eus-gaap--ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock_z8AxhSup2Ecf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes activity related to outstanding Restricted Stock Awards for the six months ended June 30, 2024:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 60%">
<tr style="vertical-align: bottom">
    <td style="text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Restricted</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">Stock Awards</p></td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Weighted Average</b>&#160;&#160;</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Grant Date</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Fair Value of&#160;</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Restricted Stock&#160;</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Awards</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 30%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-vested &#8211; January 1, 2024 </span></td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iS_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zjzX9F5mp0jh" style="width: 12%; text-align: right" title="Non vested January 1, 2024">167,071</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 id="xdx_988_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_ziKZ1mho6F92" style="width: 12%; text-align: right" title="Non vested January 1, 2024">3.25</td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Granted </span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zguxEhLygzze" style="text-align: right" title="Granted">87,604</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zpZxFjJSZq7a" style="text-align: right" title="Granted">2.33</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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Vested </span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_ziRglwZYyjlk" style="text-align: right" title="Vested">(58,587</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zczuJq9ODd9c" style="text-align: right" title="Vested">3.18</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Forfeited </span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zDMjV6kJrrE" style="border-bottom: Black 1pt solid; text-align: right" title="Forfeited">(12,572</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_982_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zPDJRlgjgPxa" style="border-bottom: Black 1pt solid; text-align: right" title="Forfeited">3.03</td><td style="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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-vested &#8211; June 30, 2024 </span></td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iE_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_z65qMpPIaG69" style="border-bottom: Black 2.5pt double; text-align: right" title="Non vested June 30, 2024">183,516</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zRYsGv6flA2e" style="border-bottom: Black 2.5pt double; text-align: right" title="Non vested June 30, 2024">2.84</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
</table>

<p id="xdx_8A7_zCZsuU9pCz97" 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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company grants shares of common stock (&#8220;Performance Restricted Stock Awards&#8221; or &#8220;PRSAs&#8221;) to select officers
as part of our long-term incentive program that will result in that number of PRSAs being paid out if the target performance metric
is achieved. The award vesting is based on specific performance metrics related to accounts payable delinquency, debt, and net
income during the performance period. The PRSAs vest at <span id="xdx_90A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_dp_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember__us-gaap--VestingAxis__us-gaap--ShareBasedCompensationAwardTrancheOneMember_zJN12GYg5xzg" title="Vesting percentage">0</span>% or <span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_dp_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember__us-gaap--VestingAxis__us-gaap--ShareBasedCompensationAwardTrancheTwoMember_zTqB148EdT8e" title="Vesting percentage">100</span>% and all three metrics must be met to vest at <span id="xdx_904_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_dp_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember__us-gaap--VestingAxis__us-gaap--ShareBasedCompensationAwardTrancheTwoMember_z5tnMXmUI6g4" title="Vesting percentage">100</span>%. The PRSAs
granted under this program will vest on the fourth anniversary of the grant date, subject to the aforementioned performance criteria.
At June 30, 2024, the weighted average remaining amortization period was <span id="xdx_90F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zJYYgXhUJM0h" title="Weighted average remaining amortization period">2.7</span> years.</span></p>

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

<p id="xdx_892_eus-gaap--ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock_zEd0L7ZJQgXk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes activity related to outstanding PRSAs for the six months ended June 30, 2024:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 60%">
<tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">PRSAs</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Weighted
Average</b>&#160;</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Grant
Date&#160;</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Fair
Value of&#160;</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>PRSAs&#160;</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 30%">Non-vested &#8211; January 1, 2024</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iS_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zeh892HdjgPf" style="width: 12%; text-align: right" title="Non vested January 1, 2024">48,050</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 id="xdx_988_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_z5daompbEpL7" style="width: 12%; text-align: right" title="Non vested January 1, 2024">3.27</td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td>Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zbK57BLzMMw8" style="text-align: right" title="Granted">64,611</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_z9eYck8ak7Ul" style="text-align: right" title="Granted">2.91</td><td style="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 id="xdx_98F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_z7CePIOxPLM9" style="text-align: right" title="Vested"><span style="-sec-ix-hidden: xdx2ixbrl0660">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zE7mtJUnu8Oc" style="text-align: right" title="Vested"><span style="-sec-ix-hidden: xdx2ixbrl0662">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Forfeited</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_z1U16K9RADha" style="border-bottom: Black 1pt solid; text-align: right" title="Forfeited">(49,295</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zQbI1zdLDMog" style="border-bottom: Black 1pt solid; text-align: right" title="Forfeited">3.23</td><td style="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">Non-vested &#8211; June 30, 2024</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iE_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zIpFDGhT77j8" style="border-bottom: Black 2.5pt double; text-align: right" title="Non vested June 30, 2024">63,366</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zPpxdoF0XPre" style="border-bottom: Black 2.5pt double; text-align: right" title="Non vested June 30, 2024">2.93</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
</table>

<p id="xdx_8A4_zV6ceVxf7H0g" 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"></p>





<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">The
fair value of all RSUs, PRSAs and RSAs is based on the closing price of our common stock on the grant date. All RSUs, PRSAs, and
Restricted Stock Awards vest and settle in common stock (on a one-for-one basis).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">As
of June 30, 2024, unamortized stock-based compensation costs related to restricted share arrangements was $<span id="xdx_900_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_iI_c20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_za2EJp9RVWVc" title="Unamortized stock-based compensation costs">482,781</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">.</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_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>23
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701095939856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NET INCOME PER SHARE<br></strong></div></th>
<th class="th" colspan="1">6 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_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [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_EarningsPerShareTextBlock', window );">NET INCOME PER SHARE</a></td>
<td class="text"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>6.</b></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b><span id="xdx_821_zVfC1kCTyZz1">NET
    INCOME PER SHARE</span></b></span><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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Basic
and diluted income per common share is computed using the weighted average number of common shares outstanding. Diluted income
per common share is adjusted for the incremental shares attributed to unvested RSUs and RSAs. Incremental shares of <span id="xdx_90B_eus-gaap--IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_pid_uShares_c20240401__20240630_zbuOvu0BX7B7" title="Incremental shares used in calculation of diluted income per common share">113,727</span> and
<span id="xdx_90C_eus-gaap--IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_pid_uShares_c20240101__20240630_znW7ohGJXaN3" title="Incremental shares used in calculation of diluted income per common share">140,929</span> were used in the calculation of diluted income per common share for the three and six months ended June 30, 2024, respectively.
Incremental shares of <span id="xdx_90F_eus-gaap--IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_pid_uShares_c20230401__20230630_zLgFRElIecHi" title="Incremental shares used in calculation of diluted income per common share"><span id="xdx_903_eus-gaap--IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_pid_uShares_c20230101__20230630_z8Pv8DxJdjSg" title="Incremental shares used in calculation of diluted income per common share">66,448</span></span> were used in the calculation of diluted income per common share for both the three and six months
ended June 30, 2023.</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_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/260/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701098168160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LINE OF CREDIT AND LONG-TERM DEBT<br></strong></div></th>
<th class="th" colspan="1">6 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_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [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_LongTermDebtTextBlock', window );">LINE OF CREDIT AND LONG-TERM DEBT</a></td>
<td class="text"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>7.</b></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b><span id="xdx_823_zQ6fUZvPRUp9">LINE
    OF CREDIT AND LONG-TERM DEBT</span></b></span><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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
March 24, 2016, the Company entered into the Amended and Restated Credit Agreement with the lenders named therein and BankUnited
N.A. as Sole Arranger, Agent and Collateral Agent (as amended from time to time, the &#8220;Credit Agreement&#8221; or the &#8220;BankUnited
Facility&#8221;). The BankUnited Facility originally provided for a revolving credit loan commitment of $<span id="xdx_908_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pn6n6_c20160324__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_z70D3UnG1Hqc" title="Line of credit facility, maximum borrowing capacity">30</span> million (the &#8220;Revolving
Loan&#8221;) and a $<span id="xdx_909_eus-gaap--DebtInstrumentFaceAmount_iI_pn6n6_c20160324__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__custom--TermLoanMember_z6m2s3mR0AQc" title="Debt instrument, face amount">10</span> million term loan (&#8220;Term Loan&#8221;). The Revolving Loan bears interest at a rate based upon a pricing
grid, as defined in the Credit Agreement.&#160;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
February 20, 2024, the Company entered into a Thirteenth Amendment to the Credit Agreement (the &#8220;Thirteenth Amendment&#8221;).
Under the Thirteenth Amendment, the parties amended the Credit Agreement by (a) extending the maturity date of the Company&#8217;s
existing revolving line of credit to <span id="xdx_900_eus-gaap--LineOfCreditFacilityExpirationDate1_dd_c20240219__20240220__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zsIZtlqkEhpk" title="Expiration date">August
31, 2025</span>; and (b) setting the aggregate maximum principal amount of all revolving line of credit loans to $<span id="xdx_90E_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20240220__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodOneMember_zLklosFsZc27" title="Line of credit facility, maximum borrowing capacity">19,800,000</span>
from January 1, 2024 through March 31, 2024, $<span id="xdx_902_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20240220__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodTwoMember_z5Bg65Du5XWl" title="Line of credit facility, maximum borrowing capacity">19,080,000</span>
from April 1, 2024 through June 30, 2024, $<span id="xdx_909_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20240220__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodThreeMember_zS4Iu3Gr7Pvj" title="Line of credit facility, maximum borrowing capacity">18,360,000</span>
from July 1, 2024 through September 30, 2024, $<span id="xdx_90D_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20240220__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodFourMember_zuaWfv4bJNye" title="Line of credit facility, maximum borrowing capacity">17,640,000</span>
from October 1, 2024 through December 31, 2024, $<span id="xdx_900_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20240220__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodFiveMember_zT4Zwm7ofJdf" title="Line of credit facility, maximum borrowing capacity">16,920,000</span>
from January 1, 2025 through March 31, 2025, $<span id="xdx_90D_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20240220__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodSixMember_zdB5039rvD4f" title="Line of credit facility, maximum borrowing capacity">16,200,000</span>
from April 1, 2025 through June 30, 2025 and $<span id="xdx_902_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20240220__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodSevenMember_zhR7zOF0mOt1" title="Line of credit facility, maximum borrowing capacity">15,480,000</span> thereafter, and for payments to be made by the Company to comply therewith
(if any such payments are necessary), on the first day of each such period.&#160;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Credit Agreement, as amended, requires us to maintain the following financial covenants: (a) minimum debt service coverage ratio
of no less than <span id="xdx_901_ecustom--MinimumDebtServiceCoverageRatio_iI_pip0_uPure_c20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zDESsYEYzoQ1" title="Minimum debt service coverage ratio">1.5</span> to 1.0 for trailing four fiscal quarter periods; (b) maximum leverage ratio of no less than <span id="xdx_902_ecustom--MaximumLeverageRatio_iI_pip0_uPure_c20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zBub8vekgDBa">4.0</span> to 1.0 for
trailing four fiscal quarter periods; (c) minimum net income after taxes as of the end of each fiscal quarter being no less than
$<span id="xdx_901_ecustom--NetIncomeRequiredUnderAgreement_pip0_c20240101__20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__srt--RangeAxis__srt--MinimumMember_zCgQUEXHIwA8" title="Net income required under agreement">1.00</span>; and (d) a minimum adjusted EBITDA at the end of each fiscal quarter of no less than $<span id="xdx_900_ecustom--MinimumAdjustedEbitda_pn5n6_c20240101__20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zbNQAuWWExa1" title="Minimum adjusted EBITDA">1.0</span> million. The additional principal
payments, increase in interest and the Amendment Fee provided for in the Eighth Amendment (entered into on October 28, 2021) and
Ninth Amendment to the Credit Agreement (entered into on April 12, 2022) are excluded for purposes of calculating compliance with
each of the financial covenants.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
BankUnited Facility is secured by all of the Company&#8217;s assets and the Revolving Loan bears interest at the Prime Rate +
<span id="xdx_903_eus-gaap--DebtInstrumentBasisSpreadOnVariableRate1_pid_dp_uPure_c20240101__20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__custom--RevolvingLoanMember_zwKls66Ck9c1" title="Prime rate Plus">3.50</span>%. The Prime Rate was <span id="xdx_901_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240630_z5PoJcDN9kQb" title="Prime rate">8.50</span>% as of June 30, 2024 and as such, the Company&#8217;s interest rate on the Revolving Loan was <span id="xdx_903_eus-gaap--LongTermDebtPercentageBearingVariableInterestRate_iI_pid_dp_uPure_c20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__custom--RevolvingLoanMember_zSe9WHN2DE88" title="Interest rate">12.00</span>%
as of June 30, 2024.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of June 30, 2024 and December 31, 2023, the Company had $<span id="xdx_90F_eus-gaap--LineOfCredit_iI_pp0p0_c20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zBzkgpRcQ9la" title="Outstanding loans">18,840,000</span> and $<span id="xdx_900_eus-gaap--LineOfCredit_iI_pp0p0_c20231231__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zfYpKIBRjjF4" title="Outstanding loans">20,040,000</span> outstanding under the Revolving Loan, respectively.
$<span id="xdx_903_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zoH6Pinjyhzc" title="Current portion of line of credit">2,640,000</span> of the Revolving Loan is payable by June 30, 2025 and the remaining balance of $<span id="xdx_905_eus-gaap--LongTermLineOfCredit_iI_pp0p0_c20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_znJ6jp1zhVm6" title="Line of credit">16,200,000</span> of the revolving line of
credit matures and is payable by August 31, 2025.&#160;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has cumulatively paid approximately $<span id="xdx_908_eus-gaap--PaymentsOfDebtIssuanceCosts_pp0p0_c20160325__20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_znUOrBlrHd47" title="Payments of debt issuance costs">962,000</span> of total debt issuance costs in connection with the BankUnited Facility,
of which approximately $<span id="xdx_901_eus-gaap--DeferredFinanceCostsNoncurrentNet_iI_pp0p0_c20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zAGIY3Q70Io9" title="Debt issuance costs">55,000</span> and $<span id="xdx_906_eus-gaap--DeferredFinanceCostsNoncurrentNet_iI_pp0p0_c20231231__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zbuyF2q5XM5l" title="Debt issuance costs">82,000</span> is unamortized and is included in other assets at June 30, 2024 and December 31, 2023,
respectively.&#160;</span></p>

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

<p id="xdx_897_eus-gaap--FinanceLeaseLiabilityMaturityTableTextBlock_zYNqlomdNYR6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Also
                                                                                                                                                included in long-term debt are financing leases of $<span class="xdx_phnt_RGlzY2xvc3VyZSAtIExJTkUgT0YgQ1JFRElUIEFORCBMT05HLVRFUk0gREVCVCAoRGV0YWlscyBOYXJyYXRpdmUpAA__" id="xdx_903_eus-gaap--FinanceLeaseLiability_iI_pp0p0_c20240630_zxSWT48JYkg8" title="Financing leases">41,484</span>
                                                                                                                                                and $<span class="xdx_phnt_RGlzY2xvc3VyZSAtIExJTkUgT0YgQ1JFRElUIEFORCBMT05HLVRFUk0gREVCVCAoRGV0YWlscyBOYXJyYXRpdmUpAA__" id="xdx_90B_eus-gaap--FinanceLeaseLiability_iI_pp0p0_c20231231_ze6Oq9dYcAc2" title="Financing leases">70,981</span>
                                                                                                                                                at June 30, 2024 and December 31, 2023, respectively, including a current portion of $<span class="xdx_phnt_RGlzY2xvc3VyZSAtIExJTkUgT0YgQ1JFRElUIEFORCBMT05HLVRFUk0gREVCVCAoRGV0YWlscyBOYXJyYXRpdmUpAA__" id="xdx_90E_eus-gaap--FinanceLeaseLiabilityCurrent_iI_pp0p0_c20240630_zd4i79FcFubf" title="Financing leases current">30,663</span>
                                                                                                                                                and $<span class="xdx_phnt_RGlzY2xvc3VyZSAtIExJTkUgT0YgQ1JFRElUIEFORCBMT05HLVRFUk0gREVCVCAoRGV0YWlscyBOYXJyYXRpdmUpAA__" id="xdx_90C_eus-gaap--FinanceLeaseLiabilityCurrent_iI_pp0p0_c20231231_zTbO7B6C4L2d" title="Financing leases current">44,498</span>,
                                                                                                                                                respectively. <span id="xdx_8BD_zEbzemVZogLh">The maturities of the June 30, 2024 balance of these financing leases are as
                                                                                                                                                follows:</span></span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 50%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>For
    the Year Ending December 31,</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="3" id="xdx_499_20240630_zWNlcug8SMI9"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_403_eus-gaap--FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maLTDzhnE_maFLLPDzf0O_zPjuEVmkAUKj" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; width: 73%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Remainder
    of 2024</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 24%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">15,001</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_40E_eus-gaap--FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLTDzhnE_maFLLPDzf0O_z0YzqUIdnn1b" style="background-color: White">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2025</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">26,483</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_403_eus-gaap--FinanceLeaseLiabilityPaymentsDue_iTI_mtFLLPDzf0O_zrfXNtzrb3Q4" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">41,484</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
</table>
<p id="xdx_8A5_z4o6Tr8L5vGd" style="margin-top: 0; margin-bottom: 0">&#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_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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> -Topic 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/470/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_LongTermDebtTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701098236896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>MAJOR CUSTOMERS AND VENDORS<br></strong></div></th>
<th class="th" colspan="1">6 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>Risks and Uncertainties [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 );">MAJOR CUSTOMERS AND VENDORS</a></td>
<td class="text"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>8.</b></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b><span id="xdx_820_zyceMFCDzvA4">MAJOR
    CUSTOMERS AND VENDORS</span></b></span><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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the six months ended June 30, 2024, our four largest customers accounted for <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zuZESyeSCz0l" title="Concentration risk, percentage">32</span>%, <span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zVU8kNAkQnJk" title="Concentration risk, percentage">25</span>%, <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zj7nzHoirSa" title="Concentration risk, percentage">13</span>%, and <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFourMember_zNyWVp8Pg6Uh" title="Concentration risk, percentage">12</span>% of revenue. During the six
months ended June 30, 2023, our two largest customers accounted for <span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zZkhbGHPRlB5" title="Concentration risk, percentage">32</span>% and <span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zNjAGFIxuWZ9" title="Concentration risk, percentage">29</span>% of revenue. During the three months ended June
30, 2024, our four largest customers accounted for <span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240401__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zi7MHhewbHX4" title="Concentration risk, percentage">36</span>%, <span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240401__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zI6bmTlXz9q7" title="Concentration risk, percentage">25</span>%, <span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240401__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zLTdJO4xxnBc" title="Concentration risk, percentage">13</span>%, and <span id="xdx_90F_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240401__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFourMember_zs10ayjjWSDg" title="Concentration risk, percentage">12</span>% of revenue. During the three months ended June 30, 2023,
our three largest customers accounted for <span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230401__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_z5cKU4o1rsIa" title="Concentration risk, percentage">29</span>%, <span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230401__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zCEOHSYwir0d" title="Concentration risk, percentage">27</span>%, and <span id="xdx_906_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230401__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_z9nDc9wn1L45" title="Concentration risk, percentage">12</span>% of revenue.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">At
June 30, 2024, <span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zhe3468cptea" title="Concentration Risk, Percentage">19</span>%, <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zOwT4AbD5069" title="Concentration Risk, Percentage">18</span>%, <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zIRPgNSN3Tmb" title="Concentration Risk, Percentage">15</span>%, and <span id="xdx_907_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFourMember_zZw9guLf4sYf" title="Concentration Risk, Percentage">14</span>% of our accounts receivable were from four of our largest customers. At December 31, 2023,
<span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zW9q9gg0tv8l" title="Concentration Risk, Percentage">30</span>%, <span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_z9Tkm3GxwFK8" title="Concentration Risk, Percentage">17</span>%, <span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zyrYZk76nYga" title="Concentration Risk, Percentage">12</span>%, and <span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFourMember_z5dAgOubP2Xi" title="Concentration Risk, Percentage">11</span>% of accounts receivable were due from our four largest customers.&#160;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">At
June 30, 2024, <span id="xdx_905_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zReRfPSBXI36">26</span>%, <span id="xdx_90C_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zq3AhrgBz4Nc">25</span>% and <span id="xdx_90B_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zghrkL6BYa9a">22</span>% of our contract assets were from three of our largest customers. At December 31, 2023, <span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zEzzyAvsKIce">26</span>%, <span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zDR7DPJ3f5u9">23</span>%,
<span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zb3xKAGdi969">18</span>%, and <span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFourMember_zsJ2qasi1fI8">15</span>% of our contract assets were related to our four largest customers.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">At
June 30, 2024, <span id="xdx_90C_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsPayableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--VendorOneMember_zHPYSfoQTv0d" title="Concentration Risk, Percentage">11</span>% of our accounts payable was from one of our largest vendors.</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_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>26
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701185207392">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LEASES<br></strong></div></th>
<th class="th" colspan="1">6 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_cvu_DisclosureLeasesAbstract', window );"><strong>Leases</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_LesseeOperatingLeasesTextBlock', window );">LEASES</a></td>
<td class="text"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<b>9.</b></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b><span id="xdx_825_zVTnTqw0XHQ7">LEASES</span></b></span><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company leases manufacturing and office space under an agreement classified as an operating lease. On November 10, 2021, the Company
executed the second amendment to the lease agreement for its manufacturing and office space, which extends the lease agreement&#8217;s
expiration date to <span id="xdx_90F_eus-gaap--LeaseExpirationDate1_c20240101__20240630_zIVX0aE1hT3c" title="Expiration date">April 30, 2026</span>. The lease agreement does not include any renewal options. The agreement provides for an initial
monthly base amount plus annual escalations through the term of the lease. In addition to the monthly base amounts in the lease
agreement, the Company is required to pay real estate taxes and operating expenses during the lease terms.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company also leases office equipment in agreements classified as operating leases.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
the six months ended June 30, 2024 and 2023, the Company&#8217;s operating lease expense was $<span id="xdx_90D_eus-gaap--OperatingLeaseCost_c20240101__20240630_zKOjJFDio1Eg" title="Operating lease expense">1,059,249</span> and $<span id="xdx_90B_eus-gaap--OperatingLeaseCost_c20230101__20230630_z1o6EFPv4kV9" title="Operating lease expense">1,084,968</span>, respectively.
For the three months ended June 30, 2024 and 2023, the Company&#8217;s operating lease expense was $<span id="xdx_90F_eus-gaap--OperatingLeaseCost_c20240401__20240630_zaXC5BUIUjq6" title="Operating lease expense">529,624</span> and $<span id="xdx_90C_eus-gaap--OperatingLeaseCost_c20230401__20230630_zqdLYkVly1i3" title="Operating lease expense">550,942</span>, respectively.</span></p>

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

<p id="xdx_896_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_zH5fpW7w2TSd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Future
minimum lease payments under non-cancellable operating leases as of June 30, 2024 were as follows:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td style="font-weight: bold; text-align: left">For the Year Ending December 31,</td><td style="font-weight: bold">&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_49B_20240630_zms6xyLOffNg" style="text-align: justify">&#160;</td><td>&#160;</td></tr>
<tr id="xdx_404_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maOLFMPzv5G_maLOLLPzLvy_z1IKZkZ12Znk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 82%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Remainder of 2024</span></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: 14%; text-align: right">1,122,283</td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr id="xdx_406_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maOLFMPzv5G_maLOLLPzLvy_zUR11loyEXql" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2025</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,283,354</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maOLFMPzv5G_maLOLLPzLvy_zdHnid7PPmDe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2026</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">850,276</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_maOLFMPzv5G_maLOLLPzLvy_zhFFLhytgYa4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2027</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">111,065</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_400_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFour_iI_maOLFMPzv5G_maLOLLPzLvy_zdXmSiewEe1k" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2028</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">9,228</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
<tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPzLvy_zr5pbhm3Sfk5" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total undiscounted operating lease payments</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,376,206</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_402_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zoHir3X3mY7e" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Less imputed interest </span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(255,118</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
<tr id="xdx_408_eus-gaap--OperatingLeaseLiability_iI_zCAGGud5BAla" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Present value of operating lease payments</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">4,121,088</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
</table>

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

<p id="xdx_899_ecustom--LesseeOperatingLeasesTableTextBlock_zYGEi7K7jPn7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table sets forth the right-of-use assets and operating lease liabilities as of:&#160;</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_490_20240630_zMUi29o8Cth2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20231231_zaJ7ikOUZwaa" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31, <br/> 2023</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr id="xdx_409_eus-gaap--AssetsAbstract_iB_zIsU4Mbwes9i" style="vertical-align: bottom">
    <td style="font-weight: bold; text-align: justify">Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_409_eus-gaap--OperatingLeaseRightOfUseAsset_i01I_z11FRiRSNGva" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; text-align: justify; padding-bottom: 2.5pt">Right-of-use assets, net</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right">3,808,903</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right">4,740,193</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40E_eus-gaap--LiabilitiesAbstract_iB_zZj97qVvcnS7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: justify">Liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_402_eus-gaap--OperatingLeaseLiabilityCurrent_i01I_maOLLzT6D_maOLLzzJK_zivftNYJIyv2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Current operating lease liabilities</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">2,076,851</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,999,058</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_408_eus-gaap--OperatingLeaseLiabilityNoncurrent_i01I_maOLLzT6D_maOLLzzJK_z6VbjSUm6ita" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1pt">Long-term operating lease 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">2,044,237</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,100,571</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
<tr id="xdx_404_eus-gaap--OperatingLeaseLiability_i01TI_mtOLLzT6D_mtOLLzzJK_z7mGDvYhh0Bj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 2.5pt; padding-left: 0.125in">Total lease liabilities</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,121,088</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">5,099,629</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
</table>

<p id="xdx_8AA_z1zoFVonymu6" 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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s weighted average remaining lease term for its operating leases is <span id="xdx_90A_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20240630_z1buwVjTWZj7" title="Weighted average remaining lease term operating leases">2</span> years as of June 30, 2024. The Company&#8217;s
weighted average discount rate for its operating leases is <span id="xdx_903_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_pid_dp_uPure_c20240630_zHv9A07as9M4" title="Weighted average discount rate for its operating leases">5.48</span>% as of June 30, 2024.</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_cvu_DisclosureLeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">cvu_DisclosureLeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cvu_</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_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/842-20/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_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701100194576">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES<br></strong></div></th>
<th class="th" colspan="1">6 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>Income Tax Disclosure [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 );">INCOME TAXES</a></td>
<td class="text"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>10.</b></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b><span id="xdx_82A_zb6D2cJcQ7r4">INCOME
    TAXES</span></b></span><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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income
taxes are accounted for under the asset and liability method whereby deferred tax assets and liabilities are recognized for future
tax consequences attributable to the temporary differences between the consolidated financial statements carrying amounts of assets
and liabilities and their respective tax bases and operating loss and tax credit carryforwards. Deferred tax assets and liabilities
are measured using enacted tax rates expected to apply in the years in which those temporary differences are expected to be recovered
or settled. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in the period that includes
the enactment date. Deferred tax assets are reduced by a valuation allowance when, in the opinion of management, it is more likely
than not that some portion or all of the deferred tax assets will not be realized. The Company&#8217;s policy is to record estimated
interest and penalties related to uncertain tax positions in income tax expense.&#160;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
provision for income tax for the three months ended June 30, 2024 and 2023 was $<span id="xdx_90A_eus-gaap--IncomeTaxExpenseBenefit_c20240401__20240630_zLZOOol09Cdb" title="Provision for income taxes">341,572</span> and $<span id="xdx_90E_eus-gaap--IncomeTaxExpenseBenefit_c20230401__20230630_zRDmvxwaOk86" title="Provision for income taxes">98,789</span>, respectively. The provision
for income tax for the six months ended June 30, 2024 and 2023 was $<span id="xdx_90A_eus-gaap--IncomeTaxExpenseBenefit_c20240101__20240630_zjcAIrf6dwyc" title="Provision for income taxes">381,044</span> and $<span id="xdx_90F_eus-gaap--IncomeTaxExpenseBenefit_c20230101__20230630_zOwZwN4biht3" title="Provision for income taxes">298,046</span>, respectively. The increase in the year-over-year
provision for income tax is the result of the partial release of approximately $<span id="xdx_901_eus-gaap--ValuationAllowanceDeferredTaxAssetChangeInAmount_iN_di_c20230401__20230630_zIhdF7NQxxS2" title="Valuation allowance released">121,000</span> of the Company&#8217;s valuation allowance
on its deferred tax asset recorded during the three months ending June 30, 2023.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
effective income tax rate for the six months ended June 30, 2024 is <span id="xdx_902_eus-gaap--EffectiveIncomeTaxRateContinuingOperations_pid_dp_uPure_c20240101__20240630_zOLOxl3J12H1" title="Effective income tax rate">19.4</span>%. The difference between the effective income tax rate
for the six months ended June 30, 2024 and the statutory income tax rate of <span id="xdx_90C_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_c20240101__20240630_zJ5k4Xw7oyLe" title="Statutory income tax rate">21.0</span>% for the six months ended June 30, 2024 is due
primarily to the estimated R&amp;D credit, state income taxes and permanent tax differences. The effective income tax rate for
the six months ended June 30, 2023 was <span id="xdx_906_eus-gaap--EffectiveIncomeTaxRateContinuingOperations_pid_dp_uPure_c20230101__20230630_zXOUk7PQwR1a" title="Effective income tax rate">12.2</span>%. The difference between the effective income tax rate for the six months ended June
30, 2023 and the statutory income tax rate of <span id="xdx_909_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_c20230101__20230630_z7eUPD1mD99a" title="Statutory income tax rate">21</span>% for the six months ended June 30, 2023 was due to the estimated R&amp;D credit,
the partial release of approximately $<span id="xdx_906_eus-gaap--ValuationAllowanceDeferredTaxAssetChangeInAmount_iN_di_c20230401__20230630_zcPIUlOjfpy9" title="Valuation allowance released">121,000</span> of the Company&#8217;s valuation allowance on its deferred tax asset recorded during
the three months ending June 30, 2023, state income taxes and permanent tax differences.</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_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>28
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701097755552">
<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">6 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 Disclosure [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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>11.</b></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_822_zaDpS6P9QKzc">COMMITMENTS AND
    CONTINGENCIES</span></b></span><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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">The
Company may be involved in various claims, suits, assessments, investigations, and legal proceedings that arise from time to time
in the ordinary course of its business. The Company accrues a liability when it is both probable a liability has been incurred
and the amount of the loss can be reasonably estimated. The Company reviews these accruals at least quarterly and adjusts them
to reflect ongoing negotiations, settlements, rulings, advice of legal counsel, and other relevant information. To the extent
new information is obtained and the Company&#8217;s views on the probable outcomes of claims, suits, assessments, investigations,
or legal proceedings change, changes in the Company&#8217;s accrued liabilities would be recorded in the period such determination
is made. For some matters, the amount of liability is not probable or the amount cannot be reasonably estimated and, therefore,
accruals have not been made. </span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">The
Company reached a settlement with the SEC on June 20, 2024 related to the Company&#8217;s previously announced and filed restatements
of certain of its financial statements for fiscal periods between January 1, 2018 and December 31, 2022. Under the terms of this
settlement, if the Company fails to comply with various undertakings, a civil monetary penalty in the amount of $<span id="xdx_90C_eus-gaap--LitigationSettlementAmountAwardedToOtherParty_c20240601__20240620_zaRCaN4feQX1" title="Settlement amount">400,000</span> will
be due to the SEC by June 30, 2025 (the &#8220;Undertakings&#8221;). The Undertakings are as follows:</span> <span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)
the Company shall fully remediate its outstanding material weaknesses in Internal Controls over Financial Reporting (&#8220;ICFR&#8221;)
and have effective ICFR and disclosure controls and procedures (&#8220;DCP&#8221;) by December 31, 2024; (b) the Company shall
publicly disclose, concurrent with the filing of the 2024 Form 10-K, whether in management&#8217;s opinion, the Company has fully
remediated its material weaknesses in ICFR and has effective ICFR and DCP; and (c) the Company shall certify, in writing, compliance
with the undertaking(s) set forth above. The certification shall be made by the Company&#8217;s CEO and identify the undertaking(s),
provide written evidence of compliance in the form of a narrative, and be supported by exhibits sufficient to demonstrate compliance. The certification and supporting material shall be submitted to the SEC no later than sixty (60) days from the date of the completion
of the undertakings.</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_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>29
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701097947920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INTERIM FINANCIAL STATEMENTS (Policies)<br></strong></div></th>
<th class="th" colspan="1">6 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>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_BasisOfAccountingPolicyPolicyTextBlock', window );">Basis of Presentation</a></td>
<td class="text"><p id="xdx_84F_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_zBput2Hq1zEc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Basis
of Presentation</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company consists of CPI Aerostructures, Inc. (&#8220;CPI Aero&#8221;), Welding Metallurgy, Inc. (&#8220;WMI&#8221;), a wholly
owned subsidiary of CPI Aero, and Compac Development Corporation, a wholly owned subsidiary of WMI (collectively, the &#8220;Company&#8221;,
&#8220;we&#8221;, &#8220;us&#8221;, or &#8220;our&#8221;).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
condensed consolidated interim financial statements of the Company as of June 30, 2024 and for the three and six months ended
June 30, 2024 and 2023 have been prepared pursuant to the rules and regulations of the Securities and Exchange Commission (&#8220;SEC&#8221;).
Certain information and notes normally included in financial statements prepared in accordance with generally accepted accounting
principles in the United States of America (&#8220;U.S. GAAP&#8221;) have been condensed or omitted pursuant to those rules and
regulations. The consolidated balance sheet at December 31, 2023 has been derived from audited consolidated financial statements,
but does not include all of the information and notes required by U.S. GAAP. The Company believes that the disclosures are adequate
to make the information presented not misleading.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">All
adjustments that, in the opinion of the management, are necessary for a fair presentation for the periods presented have been
reflected. Such adjustments are of a normal, recurring nature. It is suggested that these consolidated financial statements be
read in conjunction with the consolidated financial statements and notes thereto included in the Company&#8217;s Annual Report
on Form 10-K for the year ended December 31, 2023 (the &#8220;Form 10-K&#8221;). The results of operations for interim periods
are not necessarily indicative of the operating results to be expected for the full year or any other interim period.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">An
operating segment, in part, is a component of an enterprise whose operating results are regularly reviewed by the chief operating
decision maker (the &#8220;CODM&#8221;) to make decisions about resources to be allocated to the segment and assess its performance.
Operating segments may be aggregated only to a limited extent. The Company&#8217;s CODM, the Chief Executive Officer, reviews
financial information presented on a consolidated basis for purposes of making operating decisions and assessing financial performance.
The Company has determined that it has a single operating and reportable segment.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company maintains its cash in multiple financial institutions. The balances are insured by the Federal Deposit Insurance Corporation.
From time to time, the Company&#8217;s balances may exceed insurance limits. As of June 30, 2024, the Company had $<span id="xdx_90C_eus-gaap--CashUninsuredAmount_iI_c20240630_zs50r1Ntzv9a" title="Uninsured balance">1,781,798</span> of
uninsured balances. The Company limits its credit risk by selecting financial institutions considered to be highly creditworthy.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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 );">Recently Issued Accounting Standards &#8211; Not Adopted</a></td>
<td class="text"><p id="xdx_848_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zkqtcSIPtq9h" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Recently
Issued Accounting Standards &#8211; Not Adopted</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
December 2023, the FASB issued ASU No. 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which focuses
on the rate reconciliation and income taxes paid. ASU No. 2023-09 requires a public business entity (&#8220;PBE&#8221;) to disclose,
on an annual basis, a tabular rate reconciliation using both percentages and currency amounts, broken out into specified categories
with certain reconciling items further broken out by nature and jurisdiction to the extent those items exceed a specified threshold.
In addition, all entities are required to disclose income taxes paid, net of refunds received disaggregated by federal, state/local,
and foreign and by jurisdiction if the amount is at least 5% of total income tax payments, net of refunds received. For PBEs,
the new standard is effective for annual periods beginning after December 15, 2024, with early adoption permitted. An entity may
apply the amendments in this ASU prospectively by providing the revised disclosures for the period ending December 31, 2025 and
continuing to provide the pre-ASU disclosures for the prior periods, or may apply the amendments retrospectively by providing
the revised disclosures for all period presented. We expect this ASU to only impact our disclosures with no impacts to our results
of operations, cash flows, and financial condition.</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_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_BasisOfAccountingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfAccountingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701098258112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVENUE (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 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_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [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_DisaggregationOfRevenueTableTextBlock', window );">The following tables present the Company&#8217;s revenue disaggregated by contract type and revenue recognition method:</a></td>
<td class="text"><p id="xdx_894_eus-gaap--DisaggregationOfRevenueTableTextBlock_zzFYFTAEhci8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following tables present the Company&#8217;s revenue disaggregated by contract type and revenue recognition method:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Three months ended<br/> June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Six months ended<br/> June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; text-align: left">Government subcontracts</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630__srt--ProductOrServiceAxis__custom--GovernmentSubcontractsMember_zH91agajtIc3" style="width: 12%; text-align: right" title="Revenue">16,963,874</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 id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__srt--ProductOrServiceAxis__custom--GovernmentSubcontractsMember_zqA8ca6gMa4" style="width: 12%; text-align: right" title="Revenue">16,502,026</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 id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630__srt--ProductOrServiceAxis__custom--GovernmentSubcontractsMember_zJaZqB41tEie" style="width: 12%; text-align: right" title="Revenue">31,965,642</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 id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__srt--ProductOrServiceAxis__custom--GovernmentSubcontractsMember_zpF7hAaQUVN6" style="width: 12%; text-align: right" title="Revenue">35,174,919</td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Prime government contracts</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630__srt--ProductOrServiceAxis__custom--PrimeGovernmentContractsMember_zrJzGNAdK9v6" style="text-align: right" title="Revenue">2,601,347</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__srt--ProductOrServiceAxis__custom--PrimeGovernmentContractsMember_zy3NydqhNte2" style="text-align: right" title="Revenue">2,710,925</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630__srt--ProductOrServiceAxis__custom--PrimeGovernmentContractsMember_zCjHES41x8ca" style="text-align: right" title="Revenue">5,383,228</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__srt--ProductOrServiceAxis__custom--PrimeGovernmentContractsMember_zhdB6vfbC2fb" style="text-align: right" title="Revenue">4,118,959</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; padding-bottom: 1pt">Commercial contracts</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630__srt--ProductOrServiceAxis__custom--CommercialContractsMember_zkqS7ea4ZpP" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue">1,245,113</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__srt--ProductOrServiceAxis__custom--CommercialContractsMember_zUy9NP2utVpe" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue">1,334,604</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630__srt--ProductOrServiceAxis__custom--CommercialContractsMember_zBchFxg9gomh" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue">2,542,607</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__srt--ProductOrServiceAxis__custom--CommercialContractsMember_zkPTL6CTQ9Mc" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue">3,270,345</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630_zTaeiCyrSty9" style="border-bottom: Black 2.5pt double; text-align: right">20,810,334</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630_zmWdSPZdmrD8" style="border-bottom: Black 2.5pt double; text-align: right">20,547,555</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630_zXht3I28nWNh" style="border-bottom: Black 2.5pt double; text-align: right">39,891,477</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630_zd0DfriCodZ1" style="border-bottom: Black 2.5pt double; text-align: right">42,564,223</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
</table>

<p style="margin-top: 0; margin-bottom: 0">&#160;</p>

<p style="margin-top: 0; margin-bottom: 0"></p>





<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Three months ended<br/> June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Six months ended<br/> June 30,</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">2023</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; text-align: left">Revenue recognized using over time revenue recognition model</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zrR6PoGSFfLe" style="width: 12%; text-align: right">20,596,186</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 id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zIT8PVETbA1h" style="width: 12%; text-align: right">18,669,843</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 id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zzqmhPIRZTHl" style="width: 12%; text-align: right">39,466,552</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 id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zXjYOXrafqeg" style="width: 12%; text-align: right">39,300,073</td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Revenue recognized using point in time revenue recognition model</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zWjKION34EWd" style="border-bottom: Black 1pt solid; text-align: right">214,148</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zdeyV5IDlwUc" style="border-bottom: Black 1pt solid; text-align: right">1,877,712</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zkoqkl9slWa4" style="border-bottom: Black 1pt solid; text-align: right">424,925</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_z2bB08FFed47" style="border-bottom: Black 1pt solid; text-align: right">3,264,150</td><td style="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">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630_zZ8Kv6tG2akh" style="border-bottom: Black 2.5pt double; text-align: right">20,810,334</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630_zjOwwFmwo4F1" style="border-bottom: Black 2.5pt double; text-align: right">20,547,555</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630_zL3Sfn6ynKWd" style="border-bottom: Black 2.5pt double; text-align: right">39,891,477</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630_zh5LuEciEMdk" style="border-bottom: Black 2.5pt double; text-align: right">42,564,223</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
</table>

<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_cvu_ScheduleOfEstimatesAtCompletionAdjustmentsTableTextBlock', window );">Net EAC adjustments had the following impact on our gross profit during the six months ended June 30, 2024 and 2023:</a></td>
<td class="text"><p id="xdx_899_ecustom--ScheduleOfEstimatesAtCompletionAdjustmentsTableTextBlock_zqUwFEWH7QY1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net
EAC adjustments had the following impact on our gross profit during the six months ended June 30, 2024 and 2023:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
<tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Six months ended</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2024</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2023</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 50%; text-align: left">Favorable adjustments</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98B_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20240101__20240630__srt--CumulativeEffectPeriodOfAdoptionAxis__custom--FavorableAdjustmentMember_z9YLm0hkPDm8" style="width: 12%; text-align: right" title="Favorable adjustments">1,490,839</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 id="xdx_98F_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20230101__20230630__srt--CumulativeEffectPeriodOfAdoptionAxis__custom--FavorableAdjustmentMember_zgSUWGJD73pa" style="width: 12%; text-align: right" title="Favorable adjustments">1,913,135</td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Unfavorable adjustments</td><td>&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_982_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20240101__20240630__srt--CumulativeEffectPeriodOfAdoptionAxis__custom--UnfavorableAdjustmentMember_zy2r1iSfJKfe" style="border-bottom: Black 1pt solid; text-align: right" title="Unfavorable adjustments">(2,849,017</td><td style="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">&#160;</td><td id="xdx_987_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20230101__20230630__srt--CumulativeEffectPeriodOfAdoptionAxis__custom--UnfavorableAdjustmentMember_zYyTxWV7RMpl" style="border-bottom: Black 1pt solid; text-align: right" title="Unfavorable adjustments">(2,189,848</td><td style="border-bottom: Black 1pt solid; 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">Net adjustments</td><td>&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98F_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20240101__20240630_zfeOy1qQlTL8" style="border-bottom: Black 2.5pt double; text-align: right" title="Net adjustments">(1,358,178</td><td style="border-bottom: Black 2.5pt double; text-align: left">)</td><td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20230101__20230630_ztfYjmJgcNRh" style="border-bottom: Black 2.5pt double; text-align: right" title="Net adjustments">(276,713</td><td style="border-bottom: Black 2.5pt double; text-align: left">)</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_cvu_ScheduleOfEstimatesAtCompletionAdjustmentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 estimates at completion adjustments to gross profit.</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;">cvu_ScheduleOfEstimatesAtCompletionAdjustmentsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cvu_</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_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701190838880">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONTRACT ASSETS AND LIABILITIES (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 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_cvu_DisclosureContractAssetsAndLiabilitiesAbstract', window );"><strong>Contract Assets And Liabilities</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_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Schedule of contract assets and liabilities</a></td>
<td class="text"><p id="xdx_892_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_z6K2XTXHpErl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="display: none; visibility: hidden; font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B9_z3W71c8rA8Ll">Schedule of contract assets and liabilities</span></span></p>

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

<table cellpadding="0" cellspacing="0" id="xdx_30B_134_zryApOrgqaZd" style="font: 10pt Times New Roman, Times, Serif; width: 80%; border-collapse: collapse" summary="xdx: Disclosure - Schedule of Contract liabilities are classified as current liabilities (Details)">
<tr style="vertical-align: bottom">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" id="xdx_49C_20240630_zKba01UBnMx9" style="border-bottom: black 1pt solid"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June
30,&#160;</b></span></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2024&#160;</b></span></p></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" id="xdx_490_20231231_z0gnuge83NN5" style="border-bottom: black 1pt solid"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>December
31,&#160;</b></span></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2023</b></span></p></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_403_eus-gaap--ContractWithCustomerAssetNet_iI_maNCAz5zf_z0u83ePfyhpb" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; width: 46%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Contract
    assets</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 14%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">34,183,988</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 14%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">35,312,068</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_403_eus-gaap--ContractWithCustomerLiability_iI_msNCAz5zf_zxC03RkHEJr4" style="background-color: White">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Contract liabilities</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2,482,535</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">5,937,629</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_cvu_DisclosureContractAssetsAndLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">cvu_DisclosureContractAssetsAndLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cvu_</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_ContractWithCustomerAssetAndLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701100157568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVENTORY (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 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_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">The components of inventory consisted of the following:</a></td>
<td class="text"><p id="xdx_890_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zI5Th5GmzpJg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
components of inventory consisted of the following:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 80%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" id="xdx_49C_20240630_zT6W0z9FlNIe" style="border-bottom: black 1pt solid"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June
30,&#160;&#160;</b></span></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2024&#160;&#160;</b></span></p></td>
    <td style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" id="xdx_495_20231231_zJ8gannY4xFj" style="border-bottom: black 1pt solid"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>December
31,&#160;&#160;</b></span></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2023&#160;</b></span></p></td>
    <td style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_400_eus-gaap--InventoryRawMaterials_iI_maINzyi6_z8aYJnAyaoCf" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; width: 46%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Raw
    materials</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 14%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">537,216</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 14%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">648,264</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_401_eus-gaap--InventoryWorkInProcess_iI_maINzyi6_zFHULIMbQaAh" style="background-color: White">
    <td style="vertical-align: bottom; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Work
    in progress</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">91,680</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">75,795</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_405_eus-gaap--InventoryFinishedGoods_iI_maINzyi6_zeBtlooqIDG" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Finished
    goods</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">503,624</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">712,588</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_40A_eus-gaap--InventoryNet_iTI_mtINzyi6_zuK9OOmlXy3a" style="background-color: White">
    <td style="vertical-align: bottom; text-align: justify; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inventory,
    net</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1,132,520</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1,436,647</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483489/210-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701097246640">
<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">6 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>Share-Based Payment Arrangement [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_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock', window );">Stock-based compensation expense for restricted stock in the consolidated statements of operations is summarized as follows:</a></td>
<td class="text"><p id="xdx_891_eus-gaap--ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_zGn5rpIooxZ3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">Stock-based
compensation expense for restricted stock in the consolidated statements of operations is summarized as follows:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="display: none; visibility: hidden; background-color: White">
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td id="xdx_491_20240401__20240630_zb9WdUnm6YAd" style="border-bottom: black 1pt solid; vertical-align: top; text-align: right">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td id="xdx_492_20230401__20230630_zmfkDGSCkGg4" style="border-bottom: black 1pt solid; vertical-align: top; text-align: right">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td id="xdx_49A_20240101__20240630_zfPfFPpCbQaa" style="border-bottom: black 1pt solid; vertical-align: top; text-align: right">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td id="xdx_491_20230101__20230630_zIF232H0jeXd" style="border-bottom: black 1pt solid; vertical-align: top; text-align: right">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="6" style="border-bottom: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Three
    months ended</b><br/>
    <b>June 30,</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="6" style="border-bottom: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Six
    months ended</b><br/>
    <b>June 30,</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr style="vertical-align: bottom">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2024</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2023</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2024</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" style="border-bottom: black 1pt solid; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2023</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_40F_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--CostOfSalesMember_z9RnM3TvESS3" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; width: 40%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cost
    of sales</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl0575">&#8212;</span></span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">37,171</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(10,755</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">52,248</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_401_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--SellingGeneralAndAdministrativeExpensesMember_z9kePSkySZq" style="background-color: White">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Selling,
    general and administrative</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">175,536</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">143,045</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">467,813</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">466,891</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_40A_eus-gaap--AllocatedShareBasedCompensationExpense_zR8qgxWMDpoe" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;Total stock-based
    compensation expense</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">175,536</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">180,216</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">457,058</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">519,139</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock', window );">The following table summarizes activity related to outstanding RSUs for the six months ended June 30, 2024:</a></td>
<td class="text"><p id="xdx_89B_eus-gaap--ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_zutusuLeDh03" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes activity related to outstanding RSUs for the six months ended June 30, 2024:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 60%">
<tr style="vertical-align: bottom">
    <td style="text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">RSUs</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Weighted Average&#160;</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Grant Date</b>&#160;</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Fair Value of</b>&#160;</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>RSUs</b></span></p></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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-vested &#8211; January 1, 2024 </span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iS_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zskxuSJNc56e" style="text-align: right" title="Non vested January 1, 2024"><span style="-sec-ix-hidden: xdx2ixbrl0597">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zqU5lRwfAhs4" style="text-align: right" title="Non vested January 1, 2024"><span style="-sec-ix-hidden: xdx2ixbrl0599">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="width: 30%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Granted </span></td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zrt4ryaLwpl1" style="width: 12%; text-align: right" title="Granted">181,323</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 id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zllch5iY4hqc" style="width: 12%; text-align: right" title="Granted">2.45</td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Vested </span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z19MbzxT8r85" style="text-align: right" title="Vested">(90,660</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_989_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zw2LXOtBqP55" style="text-align: right" title="Vested">2.45</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Forfeited </span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z6tXBsWIu0f1" style="border-bottom: Black 1pt solid; text-align: right" title="Forfeited"><span style="-sec-ix-hidden: xdx2ixbrl0609">&#8212;</span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_98C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zXjZc01zUQ1" style="border-bottom: Black 1pt solid; text-align: right" title="Forfeited"><span style="-sec-ix-hidden: xdx2ixbrl0611">&#8212;</span></td><td style="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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-vested &#8211; June 30, 2024 </span></td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iE_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zZKE9YGev1Cb" style="border-bottom: Black 2.5pt double; text-align: right" title="Non vested June 30, 2024">90,663</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_985_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zJ3FvIOoMyw1" style="border-bottom: Black 2.5pt double; text-align: right" title="Non vested June 30, 2024">2.45</td><td style="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_ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock', window );">The following table summarizes activity related to outstanding Restricted Stock Awards for the six months ended June 30, 2024:</a></td>
<td class="text"><p id="xdx_898_eus-gaap--ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock_z8AxhSup2Ecf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes activity related to outstanding Restricted Stock Awards for the six months ended June 30, 2024:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 60%">
<tr style="vertical-align: bottom">
    <td style="text-align: left">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Restricted</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">Stock Awards</p></td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Weighted Average</b>&#160;&#160;</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Grant Date</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Fair Value of&#160;</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Restricted Stock&#160;</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Awards</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 30%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-vested &#8211; January 1, 2024 </span></td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iS_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zjzX9F5mp0jh" style="width: 12%; text-align: right" title="Non vested January 1, 2024">167,071</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 id="xdx_988_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_ziKZ1mho6F92" style="width: 12%; text-align: right" title="Non vested January 1, 2024">3.25</td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Granted </span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zguxEhLygzze" style="text-align: right" title="Granted">87,604</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zpZxFjJSZq7a" style="text-align: right" title="Granted">2.33</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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Vested </span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_ziRglwZYyjlk" style="text-align: right" title="Vested">(58,587</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zczuJq9ODd9c" style="text-align: right" title="Vested">3.18</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Forfeited </span></td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zDMjV6kJrrE" style="border-bottom: Black 1pt solid; text-align: right" title="Forfeited">(12,572</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_982_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zPDJRlgjgPxa" style="border-bottom: Black 1pt solid; text-align: right" title="Forfeited">3.03</td><td style="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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-vested &#8211; June 30, 2024 </span></td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iE_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_z65qMpPIaG69" style="border-bottom: Black 2.5pt double; text-align: right" title="Non vested June 30, 2024">183,516</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zRYsGv6flA2e" style="border-bottom: Black 2.5pt double; text-align: right" title="Non vested June 30, 2024">2.84</td><td style="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_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock', window );">The following table summarizes activity related to outstanding PRSAs for the six months ended June 30, 2024:</a></td>
<td class="text"><p id="xdx_892_eus-gaap--ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock_zEd0L7ZJQgXk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes activity related to outstanding PRSAs for the six months ended June 30, 2024:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 60%">
<tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">PRSAs</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Weighted
Average</b>&#160;</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Grant
Date&#160;</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Fair
Value of&#160;</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>PRSAs&#160;</b></span></p></td><td style="padding-bottom: 1pt">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 30%">Non-vested &#8211; January 1, 2024</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iS_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zeh892HdjgPf" style="width: 12%; text-align: right" title="Non vested January 1, 2024">48,050</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 id="xdx_988_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_z5daompbEpL7" style="width: 12%; text-align: right" title="Non vested January 1, 2024">3.27</td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td>Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zbK57BLzMMw8" style="text-align: right" title="Granted">64,611</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_z9eYck8ak7Ul" style="text-align: right" title="Granted">2.91</td><td style="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 id="xdx_98F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_z7CePIOxPLM9" style="text-align: right" title="Vested"><span style="-sec-ix-hidden: xdx2ixbrl0660">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zE7mtJUnu8Oc" style="text-align: right" title="Vested"><span style="-sec-ix-hidden: xdx2ixbrl0662">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">Forfeited</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_z1U16K9RADha" style="border-bottom: Black 1pt solid; text-align: right" title="Forfeited">(49,295</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zQbI1zdLDMog" style="border-bottom: Black 1pt solid; text-align: right" title="Forfeited">3.23</td><td style="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">Non-vested &#8211; June 30, 2024</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iE_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zIpFDGhT77j8" style="border-bottom: Black 2.5pt double; text-align: right" title="Non vested June 30, 2024">63,366</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zPpxdoF0XPre" style="border-bottom: Black 2.5pt double; text-align: right" title="Non vested June 30, 2024">2.93</td><td style="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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 performance-based units.</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_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year.</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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 number and weighted-average grant date fair value for outstanding performance 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> -Name Accounting Standards Codification<br> -Section 50<br> -Subparagraph (c)<br> -Paragraph 2<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_ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701184037664">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LINE OF CREDIT AND LONG-TERM DEBT (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 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_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [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_FinanceLeaseLiabilityMaturityTableTextBlock', window );">The maturities of the June 30, 2024 balance of these financing leases are as follows:</a></td>
<td class="text"><p id="xdx_897_eus-gaap--FinanceLeaseLiabilityMaturityTableTextBlock_zYNqlomdNYR6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Also
                                                                                                                                                included in long-term debt are financing leases of $<span class="xdx_phnt_RGlzY2xvc3VyZSAtIExJTkUgT0YgQ1JFRElUIEFORCBMT05HLVRFUk0gREVCVCAoRGV0YWlscyBOYXJyYXRpdmUpAA__" id="xdx_903_eus-gaap--FinanceLeaseLiability_iI_pp0p0_c20240630_zxSWT48JYkg8" title="Financing leases">41,484</span>
                                                                                                                                                and $<span class="xdx_phnt_RGlzY2xvc3VyZSAtIExJTkUgT0YgQ1JFRElUIEFORCBMT05HLVRFUk0gREVCVCAoRGV0YWlscyBOYXJyYXRpdmUpAA__" id="xdx_90B_eus-gaap--FinanceLeaseLiability_iI_pp0p0_c20231231_ze6Oq9dYcAc2" title="Financing leases">70,981</span>
                                                                                                                                                at June 30, 2024 and December 31, 2023, respectively, including a current portion of $<span class="xdx_phnt_RGlzY2xvc3VyZSAtIExJTkUgT0YgQ1JFRElUIEFORCBMT05HLVRFUk0gREVCVCAoRGV0YWlscyBOYXJyYXRpdmUpAA__" id="xdx_90E_eus-gaap--FinanceLeaseLiabilityCurrent_iI_pp0p0_c20240630_zd4i79FcFubf" title="Financing leases current">30,663</span>
                                                                                                                                                and $<span class="xdx_phnt_RGlzY2xvc3VyZSAtIExJTkUgT0YgQ1JFRElUIEFORCBMT05HLVRFUk0gREVCVCAoRGV0YWlscyBOYXJyYXRpdmUpAA__" id="xdx_90C_eus-gaap--FinanceLeaseLiabilityCurrent_iI_pp0p0_c20231231_zTbO7B6C4L2d" title="Financing leases current">44,498</span>,
                                                                                                                                                respectively. <span id="xdx_8BD_zEbzemVZogLh">The maturities of the June 30, 2024 balance of these financing leases are as
                                                                                                                                                follows:</span></span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 50%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td style="border-bottom: black 1pt solid"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>For
    the Year Ending December 31,</b></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="3" id="xdx_499_20240630_zWNlcug8SMI9"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_403_eus-gaap--FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maLTDzhnE_maFLLPDzf0O_zPjuEVmkAUKj" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom; width: 73%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Remainder
    of 2024</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="vertical-align: top; width: 24%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">15,001</span></td>
    <td style="vertical-align: bottom; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_40E_eus-gaap--FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLTDzhnE_maFLLPDzf0O_z0YzqUIdnn1b" style="background-color: White">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2025</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">26,483</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
<tr id="xdx_403_eus-gaap--FinanceLeaseLiabilityPaymentsDue_iTI_mtFLLPDzf0O_zrfXNtzrb3Q4" style="background-color: rgb(204,238,255)">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">41,484</span></td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></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_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 undiscounted cash flows of finance lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to finance lease liability recognized in statement of financial position.</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 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-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_FinanceLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701100102032">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LEASES (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 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_cvu_DisclosureLeasesAbstract', window );"><strong>Leases</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_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Future minimum lease payments under non-cancellable operating leases as of June 30, 2024 were as follows:</a></td>
<td class="text"><p id="xdx_896_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_zH5fpW7w2TSd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Future
minimum lease payments under non-cancellable operating leases as of June 30, 2024 were as follows:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td style="font-weight: bold; text-align: left">For the Year Ending December 31,</td><td style="font-weight: bold">&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_49B_20240630_zms6xyLOffNg" style="text-align: justify">&#160;</td><td>&#160;</td></tr>
<tr id="xdx_404_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maOLFMPzv5G_maLOLLPzLvy_z1IKZkZ12Znk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 82%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Remainder of 2024</span></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: 14%; text-align: right">1,122,283</td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr id="xdx_406_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maOLFMPzv5G_maLOLLPzLvy_zUR11loyEXql" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2025</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,283,354</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maOLFMPzv5G_maLOLLPzLvy_zdHnid7PPmDe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2026</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">850,276</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_maOLFMPzv5G_maLOLLPzLvy_zhFFLhytgYa4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">2027</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">111,065</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_400_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFour_iI_maOLFMPzv5G_maLOLLPzLvy_zdXmSiewEe1k" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">2028</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">9,228</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
<tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPzLvy_zr5pbhm3Sfk5" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total undiscounted operating lease payments</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,376,206</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_402_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zoHir3X3mY7e" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Less imputed interest </span></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(255,118</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
<tr id="xdx_408_eus-gaap--OperatingLeaseLiability_iI_zCAGGud5BAla" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Present value of operating lease payments</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">4,121,088</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
</table>

<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_cvu_LesseeOperatingLeasesTableTextBlock', window );">The following table sets forth the right-of-use assets and operating lease liabilities as of:</a></td>
<td class="text"><p id="xdx_899_ecustom--LesseeOperatingLeasesTableTextBlock_zYGEi7K7jPn7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table sets forth the right-of-use assets and operating lease liabilities as of:&#160;</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_490_20240630_zMUi29o8Cth2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">June 30,<br/> 2024</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20231231_zaJ7ikOUZwaa" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31, <br/> 2023</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr id="xdx_409_eus-gaap--AssetsAbstract_iB_zIsU4Mbwes9i" style="vertical-align: bottom">
    <td style="font-weight: bold; text-align: justify">Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_409_eus-gaap--OperatingLeaseRightOfUseAsset_i01I_z11FRiRSNGva" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; text-align: justify; padding-bottom: 2.5pt">Right-of-use assets, net</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right">3,808,903</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right">4,740,193</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40E_eus-gaap--LiabilitiesAbstract_iB_zZj97qVvcnS7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: justify">Liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_402_eus-gaap--OperatingLeaseLiabilityCurrent_i01I_maOLLzT6D_maOLLzzJK_zivftNYJIyv2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Current operating lease liabilities</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">2,076,851</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,999,058</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_408_eus-gaap--OperatingLeaseLiabilityNoncurrent_i01I_maOLLzT6D_maOLLzzJK_z6VbjSUm6ita" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1pt">Long-term operating lease 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">2,044,237</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">3,100,571</td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
<tr id="xdx_404_eus-gaap--OperatingLeaseLiability_i01TI_mtOLLzT6D_mtOLLzzJK_z7mGDvYhh0Bj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify; padding-bottom: 2.5pt; padding-left: 0.125in">Total lease liabilities</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,121,088</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">5,099,629</td><td style="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_cvu_DisclosureLeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">cvu_DisclosureLeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cvu_</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_cvu_LesseeOperatingLeasesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lessee operating leases.</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;">cvu_LesseeOperatingLeasesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cvu_</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_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</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 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-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_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701098198368">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>INTERIM FINANCIAL STATEMENTS (Details Narrative)<br></strong></div></th>
<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_AccountingPoliciesAbstract', window );"><strong>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_CashUninsuredAmount', window );">Uninsured balance</a></td>
<td class="nump">$ 1,781,798<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_CashUninsuredAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cash as of the balance sheet date that is not insured by the Federal Deposit Insurance Corporation.</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_CashUninsuredAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>37
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701101097232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>The following tables present the Company&#8217;s revenue disaggregated by contract type and revenue recognition method: (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of 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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 20,810,334<span></span>
</td>
<td class="nump">$ 20,547,555<span></span>
</td>
<td class="nump">$ 39,891,477<span></span>
</td>
<td class="nump">$ 42,564,223<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember', window );">Transferred over Time [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>Disaggregation of 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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">20,596,186<span></span>
</td>
<td class="nump">18,669,843<span></span>
</td>
<td class="nump">39,466,552<span></span>
</td>
<td class="nump">39,300,073<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember', window );">Transferred at Point in Time [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of 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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">214,148<span></span>
</td>
<td class="nump">1,877,712<span></span>
</td>
<td class="nump">424,925<span></span>
</td>
<td class="nump">3,264,150<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=cvu_GovernmentSubcontractsMember', window );">Government subcontracts [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of 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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">16,963,874<span></span>
</td>
<td class="nump">16,502,026<span></span>
</td>
<td class="nump">31,965,642<span></span>
</td>
<td class="nump">35,174,919<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=cvu_PrimeGovernmentContractsMember', window );">Prime government contracts [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of 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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">2,601,347<span></span>
</td>
<td class="nump">2,710,925<span></span>
</td>
<td class="nump">5,383,228<span></span>
</td>
<td class="nump">4,118,959<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=cvu_CommercialContractsMember', window );">Commercial contracts [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of 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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 1,245,113<span></span>
</td>
<td class="nump">$ 1,334,604<span></span>
</td>
<td class="nump">$ 2,542,607<span></span>
</td>
<td class="nump">$ 3,270,345<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_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_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=cvu_GovernmentSubcontractsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=cvu_GovernmentSubcontractsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=cvu_PrimeGovernmentContractsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=cvu_PrimeGovernmentContractsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=cvu_CommercialContractsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=cvu_CommercialContractsMember</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>38
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701098666448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net EAC adjustments had the following impact on our gross profit during the six months ended June 30, 2024 and 2023: (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">6 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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cvu_EstimatesAtCompletionAdjustmentToGrossProfit', window );">Net adjustments</a></td>
<td class="num">$ (1,358,178)<span></span>
</td>
<td class="num">$ (276,713)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_CumulativeEffectPeriodOfAdoptionAxis=cvu_FavorableAdjustmentMember', window );">Favorable adjustments [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cvu_EstimatesAtCompletionAdjustmentToGrossProfit', window );">Net adjustments</a></td>
<td class="nump">1,490,839<span></span>
</td>
<td class="nump">1,913,135<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_CumulativeEffectPeriodOfAdoptionAxis=cvu_UnfavorableAdjustmentMember', window );">Unfavorable adjustments [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cvu_EstimatesAtCompletionAdjustmentToGrossProfit', window );">Net adjustments</a></td>
<td class="num">$ (2,849,017)<span></span>
</td>
<td class="num">$ (2,189,848)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cvu_EstimatesAtCompletionAdjustmentToGrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Estimates at Completion adjustments to gross profit.</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;">cvu_EstimatesAtCompletionAdjustmentToGrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cvu_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CumulativeEffectPeriodOfAdoptionAxis=cvu_FavorableAdjustmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CumulativeEffectPeriodOfAdoptionAxis=cvu_FavorableAdjustmentMember</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_CumulativeEffectPeriodOfAdoptionAxis=cvu_UnfavorableAdjustmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CumulativeEffectPeriodOfAdoptionAxis=cvu_UnfavorableAdjustmentMember</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>39
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701097222928">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>REVENUE (Details Narrative)<br> $ in Millions</strong></div></th>
<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_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [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_RevenueRemainingPerformanceObligation', window );">Remaining performance obligations</a></td>
<td class="nump">$ 87.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_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of transaction price allocated to performance obligation that has not been recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701098142704">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Contract liabilities are classified as current liabilities (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 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_cvu_DisclosureContractAssetsAndLiabilitiesAbstract', window );"><strong>Contract 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_ContractWithCustomerAssetNet', window );">Contract assets</a></td>
<td class="nump">$ 34,183,988<span></span>
</td>
<td class="nump">$ 35,312,068<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Contract liabilities</a></td>
<td class="nump">$ 2,482,535<span></span>
</td>
<td class="nump">$ 5,937,629<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cvu_DisclosureContractAssetsAndLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">cvu_DisclosureContractAssetsAndLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cvu_</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_ContractWithCustomerAssetNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701097592496">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONTRACT ASSETS AND LIABILITIES (Details Narrative) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="2">6 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_cvu_DisclosureContractAssetsAndLiabilitiesAbstract', window );"><strong>Contract 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_ContractWithCustomerLiabilityRevenueRecognized', window );">Revenue recognized that was included in contract liabilities</a></td>
<td class="nump">$ 4.1<span></span>
</td>
<td class="nump">$ 1.9<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cvu_DisclosureContractAssetsAndLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">cvu_DisclosureContractAssetsAndLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cvu_</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_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701272439168">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>The components of inventory consisted of the following: (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 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_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryRawMaterials', window );">Raw materials</a></td>
<td class="nump">$ 537,216<span></span>
</td>
<td class="nump">$ 648,264<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryWorkInProcess', window );">Work in progress</a></td>
<td class="nump">91,680<span></span>
</td>
<td class="nump">75,795<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoods', window );">Finished goods</a></td>
<td class="nump">503,624<span></span>
</td>
<td class="nump">712,588<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventory, net</a></td>
<td class="nump">$ 1,132,520<span></span>
</td>
<td class="nump">$ 1,436,647<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_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_InventoryFinishedGoods">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoods</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701096293728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-based compensation expense for restricted stock in the consolidated statements of operations is summarized as follows: (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-Based Payment Arrangement, Expensed and Capitalized, Amount [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>
</tr>
<tr class="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 );">&#160;Total stock-based compensation expense</a></td>
<td class="nump">$ 175,536<span></span>
</td>
<td class="nump">$ 180,216<span></span>
</td>
<td class="nump">$ 457,058<span></span>
</td>
<td class="nump">$ 519,139<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of Sales [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-Based Payment Arrangement, Expensed and Capitalized, Amount [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">&#160;Total stock-based compensation expense</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">37,171<span></span>
</td>
<td class="num">(10,755)<span></span>
</td>
<td class="nump">52,248<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember', window );">Selling, General and Administrative Expenses [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-Based Payment Arrangement, Expensed and Capitalized, Amount [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>
</tr>
<tr class="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 );">&#160;Total stock-based compensation expense</a></td>
<td class="nump">$ 175,536<span></span>
</td>
<td class="nump">$ 143,045<span></span>
</td>
<td class="nump">$ 467,813<span></span>
</td>
<td class="nump">$ 466,891<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems</td>
</tr>
<tr>
<td style="padding-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_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701098370896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>The following table summarizes activity related to outstanding RSUs for the six months ended June 30, 2024: (Details) - Restricted Stock Units (RSUs) [Member]<br></strong></div></th>
<th class="th" colspan="1">6 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares', window );">Non vested January 1, 2024 | shares</a></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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Non vested January 1, 2024 | $ / shares</a></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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Granted | shares</a></td>
<td class="nump">181,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted | $ / shares</a></td>
<td class="nump">$ 2.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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares', window );">Vested | shares</a></td>
<td class="num">(90,660)<span></span>
</td>
</tr>
<tr class="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 );">Vested | $ / shares</a></td>
<td class="nump">$ 2.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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares', window );">Forfeited | shares</a></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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue', window );">Forfeited | $ / shares</a></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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares', window );">Non vested June 30, 2024 | shares</a></td>
<td class="nump">90,663<span></span>
</td>
</tr>
<tr class="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 );">Non vested June 30, 2024 | $ / shares</a></td>
<td class="nump">$ 2.45<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-3<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)(1)<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 (a)(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 (a)(3)<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 (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 7: 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><br>Reference 8: 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><br>Reference 9: 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)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 10: 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><br>Reference 11: 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 12: 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)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 13: 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)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 16: 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)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 17: 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><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 19: 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)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 20: 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><br>Reference 21: 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><br>Reference 22: 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><br>Reference 23: 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><br>Reference 24: 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><br>Reference 25: 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><br>Reference 26: 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><br>Reference 27: 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><br>Reference 28: 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)(v)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestrictedStockUnitsRSUMember</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>45
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701096843632">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>The following table summarizes activity related to outstanding Restricted Stock Awards for the six months ended June 30, 2024: (Details) - Restricted Stock [Member]<br></strong></div></th>
<th class="th" colspan="1">6 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares', window );">Non vested January 1, 2024 | shares</a></td>
<td class="nump">167,071<span></span>
</td>
</tr>
<tr class="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 );">Non vested January 1, 2024 | $ / shares</a></td>
<td class="nump">$ 3.25<span></span>
</td>
</tr>
<tr class="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 );">Granted | shares</a></td>
<td class="nump">87,604<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted | $ / shares</a></td>
<td class="nump">$ 2.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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares', window );">Vested | shares</a></td>
<td class="num">(58,587)<span></span>
</td>
</tr>
<tr class="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 );">Vested | $ / shares</a></td>
<td class="nump">$ 3.18<span></span>
</td>
</tr>
<tr class="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 );">Forfeited | shares</a></td>
<td class="num">(12,572)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue', window );">Forfeited | $ / shares</a></td>
<td class="nump">$ 3.03<span></span>
</td>
</tr>
<tr class="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 );">Non vested June 30, 2024 | shares</a></td>
<td class="nump">183,516<span></span>
</td>
</tr>
<tr class="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 );">Non vested June 30, 2024 | $ / shares</a></td>
<td class="nump">$ 2.84<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-3<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)(1)<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 (a)(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 (a)(3)<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 (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 7: 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><br>Reference 8: 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><br>Reference 9: 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)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 10: 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><br>Reference 11: 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 12: 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)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 13: 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)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 16: 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)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 17: 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><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 19: 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)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 20: 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><br>Reference 21: 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><br>Reference 22: 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><br>Reference 23: 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><br>Reference 24: 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><br>Reference 25: 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><br>Reference 26: 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><br>Reference 27: 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><br>Reference 28: 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)(v)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestrictedStockMember</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>46
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701098634976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>The following table summarizes activity related to outstanding PRSAs for the six months ended June 30, 2024: (Details) - Performance Shares [Member]<br></strong></div></th>
<th class="th" colspan="1">6 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares', window );">Non vested January 1, 2024 | shares</a></td>
<td class="nump">48,050<span></span>
</td>
</tr>
<tr class="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 );">Non vested January 1, 2024 | $ / shares</a></td>
<td class="nump">$ 3.27<span></span>
</td>
</tr>
<tr class="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 );">Granted | shares</a></td>
<td class="nump">64,611<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted | $ / shares</a></td>
<td class="nump">$ 2.91<span></span>
</td>
</tr>
<tr class="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 );">Vested | shares</a></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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue', window );">Vested | $ / shares</a></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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares', window );">Forfeited | shares</a></td>
<td class="num">(49,295)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue', window );">Forfeited | $ / shares</a></td>
<td class="nump">$ 3.23<span></span>
</td>
</tr>
<tr class="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 );">Non vested June 30, 2024 | shares</a></td>
<td class="nump">63,366<span></span>
</td>
</tr>
<tr class="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 );">Non vested June 30, 2024 | $ / shares</a></td>
<td class="nump">$ 2.93<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-3<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)(1)<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 (a)(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 (a)(3)<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 (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 7: 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><br>Reference 8: 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><br>Reference 9: 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)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 10: 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><br>Reference 11: 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 12: 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)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 13: 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)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 16: 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)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 17: 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><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 19: 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)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 20: 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><br>Reference 21: 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><br>Reference 22: 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><br>Reference 23: 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><br>Reference 24: 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><br>Reference 25: 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><br>Reference 26: 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><br>Reference 27: 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><br>Reference 28: 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)(v)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PerformanceSharesMember</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>47
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701095856848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK-BASED COMPENSATION (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2009</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_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units (RSUs) [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [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>
</tr>
<tr class="re">
<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">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 year<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted average remaining amortization period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">6 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember', window );">Restricted Stock [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted average remaining amortization period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember', window );">Restricted Stock [Member] | Maximum [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [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>
</tr>
<tr class="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">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember', window );">Performance Shares [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted average remaining amortization period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years 8 months 12 days<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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Unamortized stock-based compensation costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 482,781<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember', window );">Performance Shares [Member] | Share-Based Payment Arrangement, Tranche One [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Vesting percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember', window );">Performance Shares [Member] | Share-Based Payment Arrangement, Tranche Two [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Vesting percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=cvu_PerformanceEquityPlan2009Member', window );">Performance Equity Plan 2009 [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [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>
</tr>
<tr class="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 );">Shares reserved for issuance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">500,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Shares available for grant</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,364<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=cvu_LTIP2016Member', window );">Long Term Incentive Plan 2016 [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [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>
</tr>
<tr class="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 );">Shares reserved for issuance</a></td>
<td class="nump">2,200,000<span></span>
</td>
<td class="nump">1,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">600,000<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 available for grant</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">331,912<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized', window );">Increase in number of shares reserved for issuance</a></td>
<td class="nump">800,000<span></span>
</td>
<td class="nump">800,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=cvu_LTIP2016Member', window );">Long Term Incentive Plan 2016 [Member] | Share-Based Payment Arrangement, Option [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [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>
</tr>
<tr class="ro">
<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 );">Shares reserved for issuance</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">200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 not yet recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-3<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)(1)<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 (a)(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 (a)(3)<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 (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 7: 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><br>Reference 8: 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><br>Reference 9: 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)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 10: 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><br>Reference 11: 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 12: 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)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 13: 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)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 16: 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)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 17: 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><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 19: 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)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 20: 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><br>Reference 21: 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><br>Reference 22: 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><br>Reference 23: 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><br>Reference 24: 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><br>Reference 25: 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><br>Reference 26: 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><br>Reference 27: 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><br>Reference 28: 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)(v)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 additional 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized</td>
</tr>
<tr>
<td style="padding-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_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_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 vesting of award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<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_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage</td>
</tr>
<tr>
<td style="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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 option awards outstanding, 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)(1)<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-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_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestrictedStockUnitsRSUMember</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_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestrictedStockMember</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_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PerformanceSharesMember</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_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheOneMember</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_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheTwoMember</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=cvu_PerformanceEquityPlan2009Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cvu_PerformanceEquityPlan2009Member</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=cvu_LTIP2016Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cvu_LTIP2016Member</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701098033232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NET INCOME PER SHARE (Details Narrative) - shares<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Incremental shares used in calculation of diluted income per common share</a></td>
<td class="nump">113,727<span></span>
</td>
<td class="nump">66,448<span></span>
</td>
<td class="nump">140,929<span></span>
</td>
<td class="nump">66,448<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701098930768">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>The maturities of the June 30, 2024 balance of these financing leases are as follows: (Details)<br></strong></div></th>
<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_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [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_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear', window );">Remainder of 2024</a></td>
<td class="nump">$ 15,001<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2025</a></td>
<td class="nump">26,483<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_FinanceLeaseLiabilityPaymentsDue', window );">Total&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</a></td>
<td class="nump">$ 41,484<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-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_FinanceLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid 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 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-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_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in remainder of current fiscal year.</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 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-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_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>50
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701096167024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LINE OF CREDIT AND LONG-TERM DEBT (Details Narrative)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1">99 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Feb. 20, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 30, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 30, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 30, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Mar. 24, 2016 </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_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [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>
</tr>
<tr class="ro">
<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 );">Prime rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.50%<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_LinesOfCreditCurrent', window );">Current portion of line of credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,640,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,640,000<span></span>
</td>
<td class="nump">$ 2,400,000<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_LongTermLineOfCredit', window );">Line of credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,200,000<span></span>
</td>
<td class="nump">17,640,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_PaymentsOfDebtIssuanceCosts', window );">Payments of debt issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 54,334<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_FinanceLeaseLiability', window );">Financing leases</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">41,484<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">41,484<span></span>
</td>
<td class="nump">70,981<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_FinanceLeaseLiabilityCurrent', window );">Financing leases current</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 30,663<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 30,663<span></span>
</td>
<td class="nump">44,498<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_LineOfCreditFacilityAxis=cvu_BankUnitedMember', window );">Bank United [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [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>
</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_cvu_MinimumDebtServiceCoverageRatio', window );">Minimum debt service coverage ratio</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cvu_MaximumLeverageRatio', window );">Maximum leverage ratio</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cvu_MinimumAdjustedEbitda', window );">Minimum adjusted EBITDA</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000,000.0<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_PaymentsOfDebtIssuanceCosts', window );">Payments of debt issuance costs</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">$ 962,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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsNoncurrentNet', window );">Debt issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">55,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">55,000<span></span>
</td>
<td class="nump">82,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_LineOfCreditFacilityAxis=cvu_BankUnitedMember', window );">Bank United [Member] | Minimum [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [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>
</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_cvu_NetIncomeRequiredUnderAgreement', window );">Net income required under agreement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.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>
</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_LineOfCreditFacilityAxis=cvu_BankUnitedMember', window );">Bank United [Member] | Revolving Credit Facility [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of credit facility, maximum borrowing capacity</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="nump">$ 30,000,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_LineOfCreditFacilityExpirationDate1', window );">Expiration date</a></td>
<td class="text">Aug. 31,  2025<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_LineOfCredit', window );">Outstanding loans</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,840,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,840,000<span></span>
</td>
<td class="nump">$ 20,040,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_LinesOfCreditCurrent', window );">Current portion of line of credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,640,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,640,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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermLineOfCredit', window );">Line of credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 16,200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 16,200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=cvu_BankUnitedMember', window );">Bank United [Member] | Revolving Credit Facility [Member] | Period One [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of credit facility, maximum borrowing capacity</a></td>
<td class="nump">$ 19,800,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>
</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_LineOfCreditFacilityAxis=cvu_BankUnitedMember', window );">Bank United [Member] | Revolving Credit Facility [Member] | Period Two [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of credit facility, maximum borrowing capacity</a></td>
<td class="nump">19,080,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>
</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_LineOfCreditFacilityAxis=cvu_BankUnitedMember', window );">Bank United [Member] | Revolving Credit Facility [Member] | Period Three [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of credit facility, maximum borrowing capacity</a></td>
<td class="nump">18,360,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>
</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_LineOfCreditFacilityAxis=cvu_BankUnitedMember', window );">Bank United [Member] | Revolving Credit Facility [Member] | Period Four [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of credit facility, maximum borrowing capacity</a></td>
<td class="nump">17,640,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>
</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_LineOfCreditFacilityAxis=cvu_BankUnitedMember', window );">Bank United [Member] | Revolving Credit Facility [Member] | Period Five [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of credit facility, maximum borrowing capacity</a></td>
<td class="nump">16,920,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>
</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_LineOfCreditFacilityAxis=cvu_BankUnitedMember', window );">Bank United [Member] | Revolving Credit Facility [Member] | Period Six [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of credit facility, maximum borrowing capacity</a></td>
<td class="nump">16,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>
</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_LineOfCreditFacilityAxis=cvu_BankUnitedMember', window );">Bank United [Member] | Revolving Credit Facility [Member] | Period Seven [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of credit facility, maximum borrowing capacity</a></td>
<td class="nump">$ 15,480,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LineOfCreditFacilityAxis=cvu_BankUnitedMember', window );">Bank United [Member] | Term loan [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Debt instrument, face amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10,000,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_LineOfCreditFacilityAxis=cvu_BankUnitedMember', window );">Bank United [Member] | Revolving Loan [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Prime rate Plus</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.50%<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_LongTermDebtPercentageBearingVariableInterestRate', window );">Interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12.00%<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>
<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_cvu_MaximumLeverageRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum leverage ratio for trailing four fiscal quarter periods.</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;">cvu_MaximumLeverageRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cvu_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</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_cvu_MinimumAdjustedEbitda">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 adjusted EBITDA at the end of each 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;">cvu_MinimumAdjustedEbitda</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cvu_</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_cvu_MinimumDebtServiceCoverageRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 debt service coverage ratio for trailing four fiscal quarter periods.</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;">cvu_MinimumDebtServiceCoverageRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cvu_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</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_cvu_NetIncomeRequiredUnderAgreement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 element represents net income required under agreement.</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;">cvu_NetIncomeRequiredUnderAgreement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cvu_</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_DebtInstrumentBasisSpreadOnVariableRate1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 points added to the reference rate to compute the variable rate on the debt 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;">us-gaap_DebtInstrumentBasisSpreadOnVariableRate1</td>
</tr>
<tr>
<td style="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_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (par) amount of debt instrument at time of issuance.</p></div>
<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 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482949/835-30-55-8<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 (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69B<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69C<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482900/835-30-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-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_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_DeferredFinanceCostsNoncurrentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amortization, of debt issuance costs classified as noncurrent. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.</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 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-1A<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482900/835-30-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_DeferredFinanceCostsNoncurrentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_FinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_FinanceLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LineOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the 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> -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 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 3: 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)(16)(a)(2))<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_LineOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LineOfCreditFacilityExpirationDate1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Date the credit facility terminates, in YYYY-MM-DD format.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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_LineOfCreditFacilityExpirationDate1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<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(f))<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_LineOfCreditFacilityLineItems</td>
</tr>
<tr>
<td style="padding-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_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LinesOfCreditCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 carrying value as of the balance sheet date of the current portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the 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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<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_LinesOfCreditCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LongTermDebtPercentageBearingVariableInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 interest rate applicable to the portion of the carrying amount of long-term borrowings outstanding as of the balance sheet date, including current maturities, which accrues interest at a rate subject to change from time to time.</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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtPercentageBearingVariableInterestRate</td>
</tr>
<tr>
<td style="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_LongTermLineOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 carrying value as of the balance sheet date of the noncurrent portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the 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> -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> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481573/470-10-45-13<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481573/470-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_LongTermLineOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PaymentsOfDebtIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term 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 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (e)<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_PaymentsOfDebtIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LineOfCreditFacilityAxis=cvu_BankUnitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LineOfCreditFacilityAxis=cvu_BankUnitedMember</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_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_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</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_DebtInstrumentAxis=cvu_PeriodOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=cvu_PeriodOneMember</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_DebtInstrumentAxis=cvu_PeriodTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=cvu_PeriodTwoMember</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_DebtInstrumentAxis=cvu_PeriodThreeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=cvu_PeriodThreeMember</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_DebtInstrumentAxis=cvu_PeriodFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=cvu_PeriodFourMember</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_DebtInstrumentAxis=cvu_PeriodFiveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=cvu_PeriodFiveMember</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_DebtInstrumentAxis=cvu_PeriodSixMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=cvu_PeriodSixMember</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_DebtInstrumentAxis=cvu_PeriodSevenMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=cvu_PeriodSevenMember</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_CreditFacilityAxis=cvu_TermLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CreditFacilityAxis=cvu_TermLoanMember</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_CreditFacilityAxis=cvu_RevolvingLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CreditFacilityAxis=cvu_RevolvingLoanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701100691360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>MAJOR CUSTOMERS AND VENDORS (Details Narrative) - Customer Concentration Risk [Member]<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</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>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Revenue Benchmark [Member] | Customer One [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>
</tr>
<tr class="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 Risk [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>
</tr>
<tr class="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 );">Concentration Risk, Percentage</a></td>
<td class="nump">36.00%<span></span>
</td>
<td class="nump">29.00%<span></span>
</td>
<td class="nump">32.00%<span></span>
</td>
<td class="nump">32.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_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Revenue Benchmark [Member] | Customer Two [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>
</tr>
<tr class="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>Concentration Risk [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="nump">25.00%<span></span>
</td>
<td class="nump">27.00%<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
<td class="nump">29.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_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Revenue Benchmark [Member] | Customer Three [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>
</tr>
<tr class="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 Risk [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>
</tr>
<tr class="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 );">Concentration Risk, Percentage</a></td>
<td class="nump">13.00%<span></span>
</td>
<td class="nump">12.00%<span></span>
</td>
<td class="nump">13.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Revenue Benchmark [Member] | Customer Four [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>
</tr>
<tr class="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>Concentration Risk [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="nump">12.00%<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable [Member] | Customer One [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>
</tr>
<tr class="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 Risk [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>
</tr>
<tr class="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 );">Concentration Risk, Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">19.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30.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_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable [Member] | Customer Two [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>
</tr>
<tr class="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>Concentration Risk [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17.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_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable [Member] | Customer Three [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>
</tr>
<tr class="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 Risk [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>
</tr>
<tr class="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 );">Concentration Risk, Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12.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_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable [Member] | Customer Four [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>
</tr>
<tr class="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>Concentration Risk [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11.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_ConcentrationRiskByBenchmarkAxis=cvu_ContractAssetsMember', window );">Contract Assets [Member] | Customer One [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>
</tr>
<tr class="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 Risk [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>
</tr>
<tr class="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 );">Concentration Risk, Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">26.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">26.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_ConcentrationRiskByBenchmarkAxis=cvu_ContractAssetsMember', window );">Contract Assets [Member] | Customer Two [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>
</tr>
<tr class="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>Concentration Risk [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">23.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_ConcentrationRiskByBenchmarkAxis=cvu_ContractAssetsMember', window );">Contract Assets [Member] | Customer Three [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>
</tr>
<tr class="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 Risk [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>
</tr>
<tr class="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 );">Concentration Risk, Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">22.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18.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_ConcentrationRiskByBenchmarkAxis=cvu_ContractAssetsMember', window );">Contract Assets [Member] | Customer Four [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>
</tr>
<tr class="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>Concentration Risk [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15.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_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsPayableMember', window );">Accounts Payable [Member] | Vendor One [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>
</tr>
<tr class="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 Risk [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>
</tr>
<tr class="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 );">Concentration Risk, Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_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=cvu_CustomerOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cvu_CustomerOneMember</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=cvu_CustomerTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cvu_CustomerTwoMember</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=cvu_CustomerThreeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cvu_CustomerThreeMember</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=cvu_CustomerFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cvu_CustomerFourMember</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=cvu_ContractAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cvu_ContractAssetsMember</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_AccountsPayableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountsPayableMember</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=cvu_VendorOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cvu_VendorOneMember</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>52
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701098669280">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Future minimum lease payments under non-cancellable operating leases as of June 30, 2024 were as follows: (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 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_cvu_DisclosureLeasesAbstract', window );"><strong>Leases</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_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear', window );">Remainder of 2024</a></td>
<td class="nump">$ 1,122,283<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_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2025</a></td>
<td class="nump">2,283,354<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_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2026</a></td>
<td class="nump">850,276<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_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2027</a></td>
<td class="nump">111,065<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_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2028</a></td>
<td class="nump">9,228<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total undiscounted operating lease payments</a></td>
<td class="nump">4,376,206<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_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less imputed interest</a></td>
<td class="num">(255,118)<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_OperatingLeaseLiability', window );">Present value of operating lease payments</a></td>
<td class="nump">$ 4,121,088<span></span>
</td>
<td class="nump">$ 5,099,629<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cvu_DisclosureLeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">cvu_DisclosureLeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cvu_</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_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-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_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid 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 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-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_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth 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 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-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_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third 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 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-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_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second 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 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-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_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.</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 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-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_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-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_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>53
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701098910896">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>The following table sets forth the right-of-use assets and operating lease liabilities as of: (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 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_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_OperatingLeaseRightOfUseAsset', window );">Right-of-use assets, net</a></td>
<td class="nump">$ 3,808,903<span></span>
</td>
<td class="nump">$ 4,740,193<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAbstract', window );"><strong>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_OperatingLeaseLiabilityCurrent', window );">Current operating lease liabilities</a></td>
<td class="nump">2,076,851<span></span>
</td>
<td class="nump">1,999,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_OperatingLeaseLiabilityNoncurrent', window );">Long-term operating lease liabilities</a></td>
<td class="nump">2,044,237<span></span>
</td>
<td class="nump">3,100,571<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_OperatingLeaseLiability', window );">Total lease liabilities</a></td>
<td class="nump">$ 4,121,088<span></span>
</td>
<td class="nump">$ 5,099,629<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_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_LiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-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_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701099049600">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LEASES (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_cvu_DisclosureLeasesAbstract', window );"><strong>Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeaseExpirationDate1', window );">Expiration date</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Apr. 30,  2026<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_OperatingLeaseCost', window );">Operating lease expense</a></td>
<td class="nump">$ 529,624<span></span>
</td>
<td class="nump">$ 550,942<span></span>
</td>
<td class="nump">$ 1,059,249<span></span>
</td>
<td class="nump">$ 1,084,968<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted average remaining lease term operating leases</a></td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</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_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted average discount rate for its operating leases</a></td>
<td class="nump">5.48%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5.48%<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_cvu_DisclosureLeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">cvu_DisclosureLeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cvu_</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_LeaseExpirationDate1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Date which lease or group of leases is set to expire, in YYYY-MM-DD format.</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_LeaseExpirationDate1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<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 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 discount rate for operating lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<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 4<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="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_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lease term for operating lease, 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/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<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 4<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701098310384">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 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_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision for income taxes</a></td>
<td class="nump">$ 341,572<span></span>
</td>
<td class="nump">$ 98,789<span></span>
</td>
<td class="nump">$ 381,044<span></span>
</td>
<td class="nump">$ 298,046<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount', window );">Valuation allowance released</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 121,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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Effective income tax rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">19.40%<span></span>
</td>
<td class="nump">12.20%<span></span>
</td>
</tr>
<tr class="re">
<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 );">Statutory income tax rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.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_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_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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_ValuationAllowanceDeferredTaxAssetChangeInAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the valuation allowance for a specified deferred tax 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 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_ValuationAllowanceDeferredTaxAssetChangeInAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>56
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm139701100232048">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMMITMENTS AND CONTINGENCIES (Details Narrative)<br></strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jun. 20, 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_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [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_LitigationSettlementAmountAwardedToOtherParty', window );">Settlement amount</a></td>
<td class="nump">$ 400,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_LitigationSettlementAmountAwardedToOtherParty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 awarded to other party in judgment or settlement of litigation.</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_LitigationSettlementAmountAwardedToOtherParty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>57
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    (  Z"#5D'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    "  .@@U9W']6_>\    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9)1
M2\,P$,>_BN2]O::5*:'+BV-/"H(#Q;>0W+9@DX;DI-VW-ZU;A^@'\#%W__SN
M=W"M#D+W$9]C'S"2Q70SNLXGH<.:'8F" $CZB$ZE,B=\;N[[Z!3E9SQ 4/I#
M'1#JJEJ!0U)&D8()6(2%R&1KM- 1%?7QC#=ZP8?/V,TPHP$[=.@I 2\Y,#E-
M#*>Q:^$*F&"$T:7O IJ%.%?_Q,X=8.?DF.R2&H:A')HYEW?@\/;T^#*O6UB?
M2'F-^5>R@DX!U^PR^;5YV.RV3-95?5M4]P5O=G4E^$KPN_?)]8??5=CUQN[M
M/S:^",H6?MV%_ )02P,$%     @ #H(-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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
M]C_  UDA@%TH6?&ZHGNBSD/[:1V3:,P46KL-&FM$-$^L=&0H =V1)$,)Y(Y
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
MKS]N6;QBI12 []><B^<+^8#N-Q3S_P!02P,$%     @ #H(-65H.NF?-"
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
MO!CWOC+AI6C-W]+0FBAKXP>G[F[WN6X>OU+MEL=O?3?2K:FU%2K'ULGH[<E
MN/C]+%X$6_$W*PA2L"7_W&#D58X6X'EN,;TV%W1 ]Q'S_+]02P,$%     @
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
M>QO [B>:WV!NS1>8D_&9ELE\A@$LQ>*+YJWAKL;3^ SW7H&8@OM&BUL%_29
M)-P>1, ?^PA @Z?;QQ$;?749+A-4&+K6)\_^-$H3J.*'I_GL'TY\(>;8CB,:
MMG#1@XOH^A%3XV)^&CUW89L>7*I1O3;NIP.7 ZWU]^OQ[?CKQ)6_E.^W^Y\V
M/G*-0FQ0<-<0C4[G^03MV_U<X!=6;=T5?:4L2J5[I!HI-&W ][52=EC0 >-O
M-I=_ U!+ P04    "  .@@U9YUZJ?S $  "J"0  &    'AL+W=O<FMS:&5E
M=',O<VAE970Y+GAM;)U6WW/:.!!^]U^QX][TR6.##0E)@1E">G/II&TFI'?/
MPEY 4UGR23*$_O5=R<:!',G#O6!KV?WVVY_R>*?T3[-!M/!<"FDFX<;:ZCI)
M3+[!DIE852CIGY72);-TU.O$5!I9X8U*D:2]WD52,B[#Z=C+'O1TK&HKN,0'
M#:8N2Z;W-RC4;A+VPX/@D:\WU@F2Z;AB:UR@_5$]:#HE'4K!2Y2&*PD:5Y-P
MUK^^&3A]K_ WQYTY>@<7R5*IG^YP5TS"GB.$ G/K$!@]MCA'(1P0T?BWQ0P[
ME\[P^/V _J>/G6)9,H-S)?[AA=U,PE$(!:Y8+>RCVOV%;3Q#AY<K8?PO[!K=
M+ TAKXU596M,#$HNFR=[;O-P9##JO6&0M@:IY]TX\BQOF673L58[T$Z;T-R+
M#]5;$SDN75$65M._G.SL=/[]V]/C;/X$L\7B\],"9M]NX?YN=G-W?_=T]WDQ
M3BPY<:I)W@+>-(#I&X 7\%5)NS'P6198G-HG1*YCF!X8WJ3O GZI90Q9+X*T
MEP[>P<NZB#./E[T5,='3U PP,P:M@9DLX)ZS)1?<<C3G(FX !^<!W=A<FXKE
M. EI+@SJ+8;3CQ_Z%[U/[] =='0'[Z'_GP*]#YC%<, ,SF/"(44!:U*DT0<F
M+;UM4=9(SURM)?^%!=!HY:V^ 2X!GW,T!M0*6*EJZ85;Q7-2M0KL!MNV1FV
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
M5R2 ZW,IS>Z##FC_ZG'Q%U!+ P04    "  .@@U9$19S%I<"  "Z!0  &0
M 'AL+W=O<FMS:&5E=',O<VAE970Q,BYX;6R-5-]OVC 0?N]?<<JD/2$20DI_
M#)"@95HGM4.P;@_3'DQR$*^QG=D.Z?[[G1W(Z$;17I([^[[OOK-]-ZR5?C(Y
MHH5G44@S"G)KR^LP-&F.@IFN*E'2SEIIP2RY>A.:4B/+/$@481Q%@U P+H/Q
MT*_-]7BH*EMPB7,-IA*"Z5]3+%0]"GK!?F'!-[EU"^%X6+(-+M$^EG--7MBR
M9%R@-%Q)T+@>!9/>]31Q\3[@"\?:'-C@*EDI]>2<NVP41$X0%IA:Q\#HM\4;
M+ I'1#)^[CB#-J4#'MI[]O>^=JIEQ0S>J.(KSVP^"BX#R'#-JL(N5/T!=_6<
M.[Y4%<9_H6YB^U$ :66L$CLP*1!<-G_VO#N' \#E:X!X!XB][B:15WG++!L/
MM:I!NVAB<X8OU:-)')?N4I96TRXGG!T_S#[#W</-I_L9S&<+6'Z8+&;#T!*S
MVP_3'<NT88E?81G O9(V-S"3&68O\2$I:F7%>UG3^"3AQTIVH1]U(([BY 1?
MORVS[_GZK_#-F)9<;@S,4<,R9QKAVV1EK*97\?U8O0U=<IS.=<JU*5F*HX!:
MP:#>8C!^^Z8WB-Z=$)NT8I-3[/]])Z=9!ET@HK._B6#*#$_/F,P@XT5E,0,N
M4R402CH:,@3UBO$GQ(WS2Q]3&3H^L#E"[1\Z+;$M:NI;D)58$52M7Z -T @P
MEO(0L NW+W*='<O%LA_TWBF&1HW/1+$::0!85NPYF;6:KSR355#)+7K$8OE(
M>](9$].%NW^!I*[7ZW<NX@OH)5'G*KZ"P:"3))?'[BL\Z">!>N.GACN,2MJF
MM=K5=C!-FG[\$]Y,M7NF-UP:*'!-T*A[<1Z ;B9%XUA5^NY<*4N][LV<ABMJ
M%T#[:Z7LWG$)VG$]_@U02P,$%     @ #H(-644-0U;K!   W0H  !D   !X
M;"]W;W)K<VAE971S+W-H965T,3,N>&ULG59M;]LV$/ZN7W%0BZ+%5%N29<=Y
M,^#$R=:A>8&;;AB&?:#ELTU4(EV2BI-_OSM*5MS.\8=]L$51=\\]]T;>V4:;
M;W:%Z."I+)0]#U?.K4^Z79NOL!2VH]>HZ,M"FU(X>C7+KET;%'.O5!;=-(X'
MW5)(%8[._-Z]&9WIRA52X;T!6Y6E,,\76.C->9B$VXVI7*X<;W1'9VNQQ"_H
MOJ[O#;UU6Y2Y+%%9J1487)R'X^3D(F-Y+_"'Q(W=60-[,M/Z&[]\FI^',1/"
M G/'"((>CWB)1<% 1.-[@QFV)EEQ=[U%O_:^DR\S8?%2%W_*N5N=A\,0YK@0
M5>&F>O,;-O[T&2_7A?7_L*EE>UD(>66=+AME8E!*53_%4Q.''85A_(I"VBBD
MGG=MR+.<""=&9T9OP+ TH?'"N^JUB9Q4G)0OSM!727IN]/G3[17<7</E]&KR
MZ0'&MQ/X?'?[Z\>'J^D-3*XN'LZZCLRP<#=O("]JR/05R '<:.56%J[4'.<_
MZG>)7LLQW7*\2 \"_EZI#O3B"-(XS0[@]5J?>QZO]PK>!&<.)M+FA;:50?A[
M/+/.4'W\L\_9&BO;C\4]<V+7(L?SD)K"HGG$</3N33*(3P\PS5JFV2'T_Y>=
M@Y#["1]U@$T%ATS!G0INA,E7D&:<BF00@5LA7.IR+=0SH')H< Y2.>T_C*EW
MJ0! J#E,T3KAZ.621*2#\=(@TG='Y>Y67KQ@:6-!B9+D:,>@5%[Y0JAO7Y4D
M]>"V,^Z L/!%%V3 &*&6:"*"8RB6I>XLR) 11;/YGJ1%PV1A= F.SA1@BO2L
M/7CW9IBF\>G/U/QV<@K:[$KMD+D6N2RD>VX$/W3@@>1>!& K0!!R*94HBF=8
M&_TH/1G"%72N/>KB4:HEY+7Y0@L%N2Y+Z7Q\] +>4O%#$G,"KG%F*CH\*?YU
M.QS(@2 ZTCBDS56=# _89.<_B7B_X^0^Q=;+X"LGRH/LDZL9K85Q$E]"O]?D
M[)G2\P'PR9$0QX"EZ*2M# =M3GED]W<<9 [)T:D-\$E:QQHO\>-"9_$FCN3F
MN%K2 1KT$A^J/B3'T3".HSB.>1D/F^4PZ@V:Y5$TR)KE(#I.VV6Z5>M'6:-&
MJ0Y^=BB"EV*+B-KW2E*+0669#=^0CG[>GP65J=XP[075A<HEU6NN'Y'6SI[X
MJ-!A+\NJI"N&3BON4YFCES%T68(1=*D%Y*[2U#F6+*RH;I).'[(.\>S$_L^S
MW%>0TA)D7G&M4!*H,%\)-#EDT5G?6OQYVH;[,]?I# 5UK/159ZD!G1>Z-]QB
M4T[?+T&OTX]AR'])RJS&EEG3D8[MD>[1)YAC.:.Z:M+5^[&R5V).?4"Y&C8)
MXN1LE[M9VZ;*YZ=5MG27EA6=##0"<!,*2>?2FGKQ25*]\=9;.!ZD7K/?]X]A
M_38NK ZDRHMJ[AN+&E0M/Y+#368$72!-#KD(D28$6S=MEE"Q9' 41\?#A)T=
M#'J095%V//0'15/HLI9G9W^,RDP4A+IM ;O'#-L6-JB+R9X$-*<$C/,7I85O
M7Q;=C6LP1:Y"ZE[.@3?REFLZCI/ =T@Z(,J]X$$[JL?6@WT767=GY"C1+/U@
M15'6E7+U]-'NMK/;N!Y97L3KP8\N%3H<+3FU(-6X<]0/P=3#5/WB]-H/,#/M
M:!SRRQ7-GVA8@+XOM';;%S;03K2C?P%02P,$%     @ #H(-66URWRI[ @
MI04  !D   !X;"]W;W)K<VAE971S+W-H965T,30N>&ULE511;]HP$'[OKSAE
MTIXJDCB4T@Z0H'3:*M%6L'8/TQY,<A"KB<ULI[!_O[,34C91I+TD=_9]G[_S
M^6ZP5?K%Y(@6=F4AS3#(K=U<AZ%)<RRYZ:@-2MI9*5UR2ZY>AV:CD6<>5!8A
MBZ)>6'(A@]' KSWJT4!5MA 2'S68JBRY_CW!0FV'01SL%^9BG5NW$(X&&[[&
M!=JGS:,F+VQ9,E&B-$))T+@:!N/X>M)U\3[@6>#6'-C@,EDJ]>*<K]DPB)P@
M+#"UCH'3[Q5OL"@<$<GXU7 &[9$.>&COV3_[W"F7)3=XHXKO(K/Y,.@'D.&*
M5X6=J^T7;/*Y<'RI*HS_PK:.32X"2"MC5=F 24$I9/WGN^8>#@#]Z!T :P#,
MZZX/\BJGW/+10*LM:!=-;,[PJ7HTB1/2%65A->T*PMG1;'SW,(>;I\6WA]GM
M? 'C^RD\W]Y/'^:+06CI !<6I@W9I"9C[Y#U8*:DS0W<R@RSO_$A"6O5L;VZ
M"3M)>%?)#B31.;"(=4_P)6VVB>=+WN&;"_-B@,L,GF2*VM*CM0(-_!@OC=7T
M0GX>2[KF[![G=%US;38\Q6% ;6%0OV(P^O@A[D6?3BCNMHJ[I]C_MSZGR?H=
M\'QG1_E@6FDAUV<V1S!B!V5=2W2U!*H$MI4X!U5I6+E/P?4:C6V>*FJZW315
ME;2$H9$!"0-V 7$",?/V%22]MQ5RV:4SQO;LGQ/B*XC[$%-DEU8A]F%Q?"22
M>4+&O)$TJ".$\;%RA >M0_+7?D 8\"G47=2NMC-H7+?>6W@]P&9T%4(:*'!%
MT*AS22VOZZ%0.U9M?",NE:6[\F9.<Q2U"Z#]E5)V[[@#VLD\^@-02P,$%
M  @ #H(-65LO#TU$!   M D  !D   !X;"]W;W)K<VAE971S+W-H965T,34N
M>&ULA5;;;N,V$'W75PRTP:(%%%M76\K:!I)L%MLBVP;)MD4?:7ED$2N)6I**
MD[_OD+(5QW'<%YNW.7/.7$C--D+^4"6BAJ>Z:M3<+;5N+\9CE9=8,S42+3:T
M4PA9,TU3N1ZK5B);6:.Z&H>^/QG7C#?N8F;7[N1B)CI=\0;O)*BNKIE\OL)*
M;.9NX.X6[OFZU&9AO)BU;(T/J/]J[R3-Q@/*BM?8*"X:D%C,W<O@XBHVY^V!
MOSENU-X8C)*E$#_,Y+?5W/4-(:PPUP:!T=\C7F-5&2"B\7.+Z0XNC>'^>(?^
MQ6HG+4NF\%I4__"5+N=NZL(*"]95^EYLON)63V+P<E$I^PN;_FP0N9!W2HMZ
M:TP,:M[T_^QI&X<]@]1_QR#<&H26=^_(LOS,-%O,I-B -*<)S0RL5&M-Y'AC
MDO*@)>URLM.+VYO+AYN'V5@3EED9YUN[J]XN?,=N M]$HTL%-\T*5Z_MQ\1A
M(!+NB%R%)P%_[YH11+X'H1_&)_"B05AD\:+WA"'E2AT3UMO%Q^U,$URHEN4X
M=ZG*%<I'=!<?/P03_],)5O' *CZ%?B+<)^V.LX)L!#T@?"_1N19URYIGJ*QR
M*I*F*ZCH.\F;-;!F!:(H>(Y@<:"CO$E:!K:6B-1F&O***<4+CBM@RFQ1ZTNF
MC;G%',&?#?PA'K%>DFG0YRKP0)<(6^<./F'>:4(PBPIS07X9H:^L!RWLND7;
M<TQW"W#]?Y0]V)0\+P&?-.&I8T@?/Z1A,/VDB$;+#77J^Q73:!Q?MI)7NPJ;
MO(H8JY38A6WK$7]VO+7D^%Z(U$&,#@*D1D!7A6.E\R>H^PY!TR% ]8U#?5MM
M-(A>!6_'_A"6%-,=3/\;<GD&@><GF1?&F1FEL9=-4DC"S)L0;I+X7A:'\*6C
M(*)#%P:ONWH+T[+G7D2?^T8TYSEK<KH1V;+"-V*LP.* ^ 8EFHU"5'2?JPN'
M!%L-_R*3YC(P]I\Q[VLD"CSG'LW;8!P2F,4P$H(P],(T<F@A 3OTHB1V;&I2
M$A%.)V8RA2 @E9/$3%(@V6'J?!>:548$5[GH&E-MAQ$;I,9>-)UXH3]Q;E$I
MX'5KJY.3%?61AE_")/&"((5?G3O36)3P1U9U:,B^"WI&L$%HHI_:.NJ#80YJ
M&TF%VD1(ZM*&1IJ7X5P4YYVI565W;7$?X%><+7G%-=_%_L(9@O\JI)<6P[E_
MB^M!0P_Y&41>ZJ=>YD>6ZS3VO2"+G-L7!\YU)Z51>XK$&67&I_"E26"3EF49
MU5[JW(IF?4X!K$]:DVT<>V$T)3:![WO)--BF[IBGEXB>0>+YF:GG;+]+A^[8
MV)?6-. C.5]3?&V%O9"PS'9WRINJYL0,DE&<'KO.QWLO:8UR;;\7J.M-F?6/
MZK Z?))<]B_QR_'^>^8;DVO>*');D*D_FB9N7PF[B1:M?9>70M,K;X<E?5:A
M- =HOQ!"[R;&P?"AMO@/4$L#!!0    (  Z"#5EQWIQ!000  &8)   9
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
M^X:S[,LW:WC/#4L7!Z<5(I/KWH-OXYNQ^LMT>MWY,8!O$UW$PE4FQB=0NC
M,QN *?FQG15S78HCJ2WKB 3/J9J35T<'HRYT(:DN8.4=SBR\JY1N"O%B2]HN
MZ$;9O(FJ< )W[)!6P*N+[>[8>/JC,8SX_$'U@"0/NC2=4VE0CP%28#F+*DS(
M2Q>8*A3"I70!*; D S"5_D%/]-6)ATBTHNN%$N,&PC96T[+,=/$[^F+* -8Q
MZD+H:F/Y>.M!I2W&"MXW$K46((; Q<\5H]5"&]^I2GJ[2JJ!J2O"P(X^U(C<
M@@F#BK&Z:?*5&EK#6J!<MRD\ EPH$,_49S53Y5C- '8 $2V7%%AP!U*@_QXT
M&)#QX,7^8O/OC4V3C>1[?)Q$.R5L(HG]GA" 89$-V(:3_.#MAZ"FUC:0\97
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
MN21L$%!(G =MH+1A@XE+R7&PF*@F^V0<;+1?!G9W_J.[@Y<&SO;2R 44T"Q
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
MCXUL.E4ST:*L+_N%T-@ZZF&&S1VD"<#WJ1!Z.S$;='\7XK]02P,$%     @
M#H(-6=$.A^$5 @  ,P0  !D   !X;"]W;W)K<VAE971S+W-H965T,C@N>&UL
M?51M:]LP$/XKAU9&"R-VG#8IF6UH7L8Z: D)Z3Z,?5"<LRTJ2YXDQ]V_GR0G
M)H.F7RS=Z9Y'SYWN'+=2O>H2T<!;Q85.2&E,/0T"G95843V0-0I[DDM546--
M502Z5DCW'E3Q( K#<5!1)D@:>]]*I;%L#&<"5PIT4U54_9TAEVU"AN3D6+.B
M-,X1I'%-"]R@V=8K9:V@9]FS"H5F4H#"/"$/P^ELY.)]P O#5I_MP66RD_+5
M&8_[A(1.$'+,C&.@=CG@'#EW1%;&GR,GZ:]TP//]B?V;S]WFLJ,:YY+_9'M3
M)N2>P!YSVG"SENUW/.9SY_@RR;7_0MO%WDX(9(TVLCJ"K8**B6ZE;\<ZG &B
MZ (@.@(BK[N[R*M<4$/36,D6E(NV;&[C4_5H*XX)]R@;H^PILSB3KI<OR^?M
M$JX7:"CC&IZI4M15Z@:N@ EX8IS;\NDX,/8Z!PJR(_6LHXXN4/]HQ !&X1>(
MPN@6MIL%7%_=_$\36+6]Y*B7''G>T27)>$#1(.1*5C"7PBC[M+9LIH2Y+Q@J
M^/6PT][_^SW='?_M^_QN#*:ZIADFQ/:Y1G5 DG[^-!R'7S]0/^K5CSYBM^K=
MJ#!10(W*#Y7($.2.LX*:2X7N*,>>THW9(;V?Q,'A7$9PU@-NG)ZH*IC0P#&W
MH' PN2.@NA;M#"-KWQ8[:6S-_+:T4XW*!=CS7$IS,ERG]?^)]!]02P,$%
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
M#?4LU6-.72(JNX#>3Z4T#P-+T/:=R1]02P,$%     @ #H(-6<!J0GM+ P
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
M;=SK!0-_$+G;P\K\Z=;OA^'%L=>L@RST+OW+8[?D;V1UEMR#-E: V-CY(75
M%5/U!]U:VQ$UMIWY@7W2&TY['?:9'FGU!/I-7\_#&RPVA$E$8:VEO+.!OJNH
M9TR]4;RT373%E6[)=IGKL0S"..CS->=JOS$"[:"/?P%02P,$%     @ #H(-
M6<_J:,=. @  J@4  !D   !X;"]W;W)K<VAE971S+W-H965T,S@N>&ULO53=
M;YLP$/]7+#9-G30%0B"K,H+4-IJV2I.B?FP/TQX<<@2KQF;VD73__<Z&L*BC
ME?:R%_"=?;^/@W-VT.;!5@#('FNI[#*H$)M%&-JB@IK;B6Y T4ZI3<V10K,+
M;6. ;WU1+<,XBN9AS84*\LSGUB;/=(M2*%@;9MNZYN;7)4A]6 ;3X)BX$;L*
M72+,LX;OX!;POED;BL(!92MJ4%9HQ0R4R^!BNKA,W7E_X*N @SU9,^=DH_6#
M"SYOET'D!(&$ AT"I]<>KD!*!T0R?O:8P4#I"D_71_2/WCMYV7 +5UI^$UNL
MEL%YP+90\E;BC3Y\@MZ/%UAH:?V3'?JS4<"*UJ*N^V)24 O5O?ECWX>3@CA^
MIB#N"V*ONR/R*E<<>9X9?6#&G28TM_!6?36)$\I]E%LTM"NH#O.["@@.6R-0
M@&6Z9$B9ZU8!FT7O6!S%";F67!70;UI@I5"4$&K')%!'+.,&&+>LU)(^LEVP
MLQ4@%]*^S4(DD8XJ+'I!EYV@^!E!1#WY0WU_NV)GKY_ A.1Q,!H/1F./.WL&
M=P4;9"MA"ZEM2W*_7VPL&OHI?HQI[+"2<2PW* O;\ *6 4V"!;.'('_S:CJ/
M/KR@=#8HG;V$GM^ &Z8M&-=PUX4Q@1W$W$.XP=OGTS2*IEFX'V%.!N;D168B
M2\?(NJKTA"R>)^>S<;)T($O_O8EW&KGL.OD_GV.FT[\ZG$R3\^2)Z?!D]-PM
M]H6;G5"6!J.DNFCRGF!,=S-T >K&3^-&(\VV7U9TF8)Q!VB_U!J/@1OPX7K.
M?P-02P,$%     @ #H(-67W[W\@/"@  L70  !D   !X;"]W;W)K<VAE971S
M+W-H965T,SDN>&ULO9UK;]LX%H;_"N%=#&:!;JRK+YW$0&*1W"R:-$C3W0^#
M_:#8C*.M)64D.4F!^?&C6TS39FBK\WH*M/5%? ZM\YI'?$U)IR]I]BU_%*(@
MK_$RR<]ZCT7Q]+'?SV>/(@[SD_1)).4[#VD6AT7Y-%OT\Z=,A/.Z4;SL.Y8U
MZ,=AE/0FI_5K-]GD-%T5RR@1-QG)5W$<9M\OQ#)].>O9O;<7;J/%8U&]T)^<
M/H4+\4447Y]NLO)9?TV91[%(\BA-2"8>SGKG]D?N>U6#>HO_1.(EWWA,JH]R
MGZ;?JB>7\[.>5?5(+,6LJ!!A^=^SF(KELB*5_?BMA?;6,:N&FX_?Z*S^\.6'
MN0]S,4V7_XWFQ>-9;]0C<_$0KI;%;?KR+]%^(+_BS=)E7O]+7MIMK1Z9K?(B
MC=O&90_B*&G^#U_;';'1P''>:>"T#9Q#&[AM _?0!E[;P#NT@=\V\ ]M,&@;
M# YM,&P;#.MD-7NW3DT0%N'D-$M?2%9M7=*J!W5^Z]9E1J*DDN*7(BO?C<IV
MQ>33Y34EGQF9WM+@\HZ<7P?DT^=K_L\[>GM% GIQ1WX.1!%&RYQ<AUD65L+Y
MQVF_*$-7@/ZL#3-MPCCOA!F0JS0I'G-"D[F8:]I3<_OQV #HEY]Y_<&=MP]^
MX1B)3-R?$,?Z4/YU//+U2T!^_KOV@YDQ_UXE)\3=CPD.Q[@&#,7TAIDQ@9B5
M&'MO;[@9<Q5FY2[V*HP]T&.4U+EKS;HUUWU/L^5SDCZ0:2;F44%8.(N64?&=
M_%J_<5F(./^?IK<7#=734ZLQ_V/^%,[$6:\<U'.1/8O>Y*>_V0/K%YTLD+
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
MK5,/"6-(&$?"! AFJ.Z5JGLYW=VC>IW!_*[6(1]3N4QJ)?:0$B-A# GC2)@
MP0R)^Z7$?>N)_5^)/Y![&6?+U'5-G<);GM/+@=EUT]NH=^(.AMVW7>EJUZ+G
MYEJLGD7-M?A!:PGK?AXYBH-R% < >_R\B:SV:.W1]MQ!PA@2QI$P 8(9JI^6
MJI^B[?$4*3$2QI PCH0)$,R0^*R4^ QLCV>UQM>OV&/]6J<5>SR(Q>O7JEBM
ML.[GD:-X7H[B.<(>Y[&T7S]:N[0]>Y PAH1Q)$R 8(;N3D__Y[:'MLB""%(9
M2F-0&H?2!(IF*KT38SA@IRR %>-RW(I5[EFM<OG'#J-Q^UZT'G,0S1QSJL><
M GQ51.O8'@Q9N[0^XY T!J5Q*$V@:*;Z.I)Q7+BW0A,8*(U!:1Q*$RB:J;2.
M81QK!'",MWJ'F.;8WK>U@@<UY="F D4SI='QB6//3ZZFTV@=I@F9R*D,WORG
MA3PJ&K6W:7UF(FD,2N-0FD#13/EU[N,,X!X,C7F@- :E<2A-H&BFTCKK<:PY
MPS$># U[H#16T*I6?5ZU:FB04]]47Z&;RNB(QK%G-(=:<%/\:F_36B\DC4%I
M'$H3*)HIO\Z6G'.X!4.#)"B-06D<2A,HFGD[7X=)U!IA'&'!=F!;H:$T5M"J
M%GQ6L6!H4[&GZ6F]!U.=_E![^G.P!S=FO/9&K25#TAB4QJ$T@:*9!X".HBA%
MNS"%QDY0&H/2.)0F4#13:1T[4?NC0$>X,#1U@M)80:L:8O4>&[2IV-.4[G%A
MG1-1>TYTJ LW)L+V/JT5@Z9,4!J'T@2*9NJOPRC:AYLP-'>"TAB4QJ$T@:*9
M2NO<B=H?.#K"A*&Q$Y3&"EK5#[VJ"4/SI#U-G3TFK(,BVA@4*5VF*;E*$JF\
M^)@TV-ZBM5C0Z A*XU":0-%,Z7421<_@_@L-G: T!J5Q*$V@:*;2.G2B]B>:
MCO!?:.8$I;&"5GV$;%#U7VB8U-C4G*B@4R*W,25J]-^F*-C>HO5,!6AN!*5Q
M*$V@:*;T.H5R';3_NM"X"4IC4!J'T@2*9BJMXR;7_N13>_^U UL+#4V;"EK3
M@[[0IF)/TSVWX]R=F6*-^5"S_S;&P/8FK>7"3A;#SA;#3A?[/YY4<G4"Y7IP
M!X9F35 :@](XE"90-%-IG36YZ(EC=F!KH:%1DUL_7ZWZZ!JTJ:AONG,'T)1&
MAT-N8SC4Z,"-$;"]1VNUH'D1E,:A-(&BF=KK],F%STESH6$3E,:@- ZE"13-
M5%J'32YZ:IH=V%IH:-8$I7$H3;BU,^QV[A&:"NH0R;6'2.7MNGO_6_5>W:,,
M9]$!;U2 IDI0&H/2.)0F4#3SM0HZH_+@T^(\:"0%I3$HC4-I D4SE=:1E(>>
M%F<'MA8:FDAY]9/LG,IE,K2I0-&V"G9W7M6D+H1?\I=J)21WXNW[<,JEY8N[
MKO+755667SL78Z=F.7,N^/:U7!J_?4O8C1^_!&%"%O)9M>J=G*KK_WC[XJWM
MES1:Y2^*>HI2=96>?YQ+?R;C; 7U^W,4I>]?L@;EZ\]&_P)02P,$%     @
M#H(-65/1/,48 P  L@H  !D   !X;"]W;W)K<VAE971S+W-H965T-#$N>&UL
MK99M;YLP%(7_BL6FJ976 B:0ER5(:ZIIFSHI:M?MLT-N$JM@,]LD[;_?-5"6
M)H1NT;X$C'V.GW,-CL=;J1[T&L"0QRP5>N*LC<E'KJN3-61,7\H<!/8LI<J8
MP:9:N3I7P!:E*$M=ZGF1FS$NG'A</INI>"P+DW(!,T5TD65,/5U!*K<3QW>>
M']SRU=K8!VX\SMD*[L#<YS.%+;=Q6? ,A.92$ 7+B?/1'TU]SPK*$3\X;/7.
M/;%1YE(^V,:7Q<3Q+!&DD!AKP?"R@2FDJ75"CE^UJ=/,:86[]\_NG\KP&&;.
M-$QE^I,OS'KB#!RR@"4K4G,KMY^A#A1:OT2FNOPEVWJLYY"DT$9FM1@),BZJ
M*WNL"[$C\'M'!+06T+\5!+4@*(-69&6L:V98/%9R2Y0=C6[VIJQ-J<8T7-AE
MO#,*>SGJ3/RI,(4"Z\RS(B,I8$E(SIYPI8PFA5B (D**BX2)!&O-YBD0?(<4
M,URLJN&:,$WDDGPM!)# >T^H1WMD"VB+'4N9XJNB1^3L&@SCJ3XG%^3^[IJ<
MO3T?NP8C6! WJ7&O*EQZ!!?GN&SF:)%/N^77D*#<+^7!2[F+A6NJ1YOJT=(O
M..)W4^9OBU'I>NTZ^VV.=,X2F#CX\6E0&W#B=V_\R/O0%NH_F;V(&#01@R[W
M^!;L9F!? USB(U6_JBRBTL)N')O8]RFE ZSQ9C=(YU0G!NDU07J=09 ];&.O
M5.$.NP4/PMX>>Z?[B>QAPQZ^QAZUL8<'[(/0H_UH#[W3_$3TJ$&/7D/OMZ%'
M!^B^[WM1N(?>:7XB>K]![[^&/FA#[Q^@#ZD=^0*\T_I$\$$#/N@$_RX-2^WF
MS74B"V%@L;]G-UM\6[[!0;Y>T(^HM_]:=4*<&''81!QV1KP!K0G/\L*&XQ@1
MIS!M888'82YH&/K^_GIU3G=B&-_[\R_L=<:965-AR(:E!=B=]E_6J_;>W7Y[
M/O6]P7[&EH&A-QQ&=-@,K/C=G0.%/<U]8VK%A4:6)2J]RS[64U4'I*IA9%Z>
M,>;2X(FEO%WCH1*4'8#]2RG-<\,>6YIC:OP;4$L#!!0    (  Z"#5FSZ2:6
MO0(  "P(   9    >&PO=V]R:W-H965T<R]S:&5E=#0R+GAM;*U6:V_;(!3]
M*\B;IDYJ:ORVL\12FVC:IDZJ^M@^D^0Z1L4F Y)T_WZ 73</-^JD?HF!>\_Q
M.?<:R&C+Q:,L 11ZJE@MQTZIU&KHNG)>0D7D!5]!K2,%%Q51>BJ6KEP)( L+
MJICK8QR[%:&UDX_LVHW(1WRM&*WA1B"YKBHB_EX!X]NQXSG/"[=T62JSX.:C
M%5G"':B'U8W0,[=C6= *:DEYC0048^?2&TX2DV\3?E'8RITQ,DYFG#^:R??%
MV,%&$#"8*\- ]&,#$V#,$&D9?UI.IWNE >Z.G]F_6N_:RXQ(F'#VFRY4.792
M!RV@(&NF;OGV&[1^(L,WYTS:7[1M<[&#YFNI>-6"M8**ULV3/+5UV %XX2L
MOP7X;P4$+2"P1AMEUM:4*)*/!-\B8;(UFQG8VEBT=D-KT\4[)724:IS*[TM
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
M M0AV4NFX&=$[TQ,S"NN9:\D4&X4+ @M_VJ5[EY69$=+(.SQ34S,+.[_L]*
M]F6:\DJ1A$I)N\V74;_$K.):MDH&991MQ8C8DH5HM*2%)A6G_185'P4?3#+N
M225C+GT]3#*>9<ETPZ<0]5XT?9>$.N7-$]P*^0+YC8F)&<>S;1PMBL?S>ZI8
MV>.R1O4O$?:]NS<Q,>-XEHUS)!@1U=8UE?P5PI*)B>YO638.BCG>A<,,Y%DV
M$(XY&D*8@3S+!OKY;*@/HB8F9B#/MH&.K/"-.&]B8@;R+!NH:W3X52N[8-X'
MI$Z17]J&$6_VZV@(81;R+%L(GUN.^B9F(<^RA9 ]B:[MS:ULS$*^90O=M-#@
M;#A4:FM2,0CT9$]?AGE2:V)B%O(M6^AH0&) "*7IG=DW?<Q"ONUUS]N" IW#
M^9B ?,L",G=^CG":F.@1B_4S%F0SB)R9F)B _%Y T\-I9,FVO&%E G^A(+^@
M5;&1I+L,.ZW^1;<[LFVK:@%YZV8I:'DXW#P<S'[Z&U!+ P04    "  .@@U9
MN#;$W*D!   N&P  &@   'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QSS=F[
M;L) $(7A5T%^ ):966X14*6AC7@!"Y:+,-CR;A1X^R HX%@ITJ ]E;6V//X;
M?[+6LZ]0E>E0G^/^T,3>Y52=X[S8I]1\.!?7^W J8[]NPOEV95NWIS+=ENW.
M->7Z6.Z"T\%@Y-K7&<5B]CJSM[HVX3\3Z^WVL Z?]?K[%,[IC\'NIVZ/<1]"
M*GJKLMV%-"_<I7J>CNY^D/YM<M%;;N9%N]Q(X7('*01I_B"#(,L?Y"'(YP\:
M0M P?] (@D;Y@\80-,X?-(&@2?Z@*01-\P?) &4<$"1UL";06I!K(?!:$&PA
M$%N0;"$P6Q!M(5!;D&TA<%L0;B&06Y!N(;!;$&\AT%M1;R706U%O)=!;.Q_;
M!'HKZJT$>BOJK01Z*^JM!'HKZJT$>BOJK01Z*^JM!'HKZJT$>AOJ;01Z&^IM
M!'H;ZFT$>EMGLX1 ;T.]C4!O0[V-0&]#O8U ;T.]C4!O0[V-0&]#O8U ;X]Z
M>P*]/>KM"?3VJ+<GT-NCWIY ;]_9[";0VZ/>_IUZQW2M0GSV/-;X_'=2G6[W
MAN?C[\O'R<X+=<?9P>^QQ2]02P,$%     @ #H(-65/9*RFR 0  4QL  !,
M  !;0V]N=&5N=%]4>7!E<UTN>&ULS9G-;L(P$(1?!>6*B+&=TA\!E[;7ED-?
MP$TV)"*)+=M0>/LZX4=J1:,B*G4NL1+OSHR]TG?)]&UGR VV==6X651X;QX8
M<VE!M7*Q-M2$G5S;6OGP:I?,J'2EEL3$>#QAJ6X\-7[D6XUH/GVB7*TK/WC>
MAL^NU,TLLE2Y:/"X+VR]9I$RIBI3Y<,^VS39-Y?1P2$.G5V-*TKCAJ$@8F<=
MVIV?#0Y]KQNRMLQHL%#6OZ@Z5+%MQ9S?5>3B?HDS&76>EREE.EW7H25VQI+*
M7$'DZRK>BP[[G7VX8=H_^=7^G4R?8:A<6&U<F)BER^V.(VF[1R8(D?5E_Q%/
MCD'ZZO-1.^V,LE]ZA^O]T';5S<.Q;KG^CK_.^*1_80X!DD."Y$A <MR Y)B
MY+@%R7$'DN,>) <?HP1!(2I'02I'82I'@2I'H2I'P2I'X2I' 2M'(:M (:M
M(:M (:M (:M (:M (:M (:M (:M (:M (:M$(:M$(:M$(:M$(:M$(:M$(:M$
M(:M$(:M$(:M$(6N"0M8$A:P)"ED3%+(F*&1-_I.L[UJO_OHW3[O&M2J;HS_K
M_J7-/P%02P$"% ,4    "  .@@U9!T%-8H$   "Q    $
M@ $     9&]C4')O<',O87!P+GAM;%!+ 0(4 Q0    (  Z"#5G<?U;][P
M "L"   1              "  :\   !D;V-0<F]P<R]C;W)E+GAM;%!+ 0(4
M Q0    (  Z"#5F97)PC$ 8  )PG   3              "  <T!  !X;"]T
M:&5M92]T:&5M93$N>&UL4$L! A0#%     @ #H(-695B\N[4!0  T1X  !@
M             ("!#@@  'AL+W=O<FMS:&5E=',O<VAE970Q+GAM;%!+ 0(4
M Q0    (  Z"#5DU_S3%U08  -<;   8              " @1@.  !X;"]W
M;W)K<VAE971S+W-H965T,BYX;6Q02P$"% ,4    "  .@@U9[W?S#JX"   W
M!P  &               @($C%0  >&PO=V]R:W-H965T<R]S:&5E=#,N>&UL
M4$L! A0#%     @ #H(-60PAI%Y*!0  ?Q4  !@              ("!!Q@
M 'AL+W=O<FMS:&5E=',O<VAE970T+GAM;%!+ 0(4 Q0    (  Z"#5DU@3UQ
M*P@  )0[   8              " @8<=  !X;"]W;W)K<VAE971S+W-H965T
M-2YX;6Q02P$"% ,4    "  .@@U94Y@>78 '  !/(0  &
M@('H)0  >&PO=V]R:W-H965T<R]S:&5E=#8N>&UL4$L! A0#%     @ #H(-
M65H.NF?-"   T!0  !@              ("!GBT  'AL+W=O<FMS:&5E=',O
M<VAE970W+GAM;%!+ 0(4 Q0    (  Z"#5G:4/C<E <  +\1   8
M      " @:$V  !X;"]W;W)K<VAE971S+W-H965T."YX;6Q02P$"% ,4
M"  .@@U9YUZJ?S $  "J"0  &               @(%K/@  >&PO=V]R:W-H
M965T<R]S:&5E=#DN>&UL4$L! A0#%     @ #H(-6?YBSW.7 @  @ 4  !D
M             ("!T4(  'AL+W=O<FMS:&5E=',O<VAE970Q,"YX;6Q02P$"
M% ,4    "  .@@U9E\'$;[$&   !$0  &0              @(&?10  >&PO
M=V]R:W-H965T<R]S:&5E=#$Q+GAM;%!+ 0(4 Q0    (  Z"#5D1%G,6EP(
M +H%   9              " @8=,  !X;"]W;W)K<VAE971S+W-H965T,3(N
M>&UL4$L! A0#%     @ #H(-644-0U;K!   W0H  !D              ("!
M54\  'AL+W=O<FMS:&5E=',O<VAE970Q,RYX;6Q02P$"% ,4    "  .@@U9
M;7+?*GL"  "E!0  &0              @(%W5   >&PO=V]R:W-H965T<R]S
M:&5E=#$T+GAM;%!+ 0(4 Q0    (  Z"#5E;+P]-1 0  +0)   9
M      " @2E7  !X;"]W;W)K<VAE971S+W-H965T,34N>&UL4$L! A0#%
M  @ #H(-67'>G$%!!   9@D  !D              ("!I%L  'AL+W=O<FMS
M:&5E=',O<VAE970Q-BYX;6Q02P$"% ,4    "  .@@U9HF>]@!T&  "^#0
M&0              @($<8   >&PO=V]R:W-H965T<R]S:&5E=#$W+GAM;%!+
M 0(4 Q0    (  Z"#5EI356'YP@  '85   9              " @7!F  !X
M;"]W;W)K<VAE971S+W-H965T,3@N>&UL4$L! A0#%     @ #H(-68N,J,/^
M P  %@H  !D              ("!CF\  'AL+W=O<FMS:&5E=',O<VAE970Q
M.2YX;6Q02P$"% ,4    "  .@@U9#>0(Y&X"  !U!0  &0
M@('#<P  >&PO=V]R:W-H965T<R]S:&5E=#(P+GAM;%!+ 0(4 Q0    (  Z"
M#5GV[$L_H@(  *H%   9              " @6AV  !X;"]W;W)K<VAE971S
M+W-H965T,C$N>&UL4$L! A0#%     @ #H(-6:-+%*9J!   S0T  !D
M         ("!07D  'AL+W=O<FMS:&5E=',O<VAE970R,BYX;6Q02P$"% ,4
M    "  .@@U9'G#BS;L"  #_!0  &0              @('B?0  >&PO=V]R
M:W-H965T<R]S:&5E=#(S+GAM;%!+ 0(4 Q0    (  Z"#5E>LS8;: ,  ) (
M   9              " @=2   !X;"]W;W)K<VAE971S+W-H965T,C0N>&UL
M4$L! A0#%     @ #H(-6=;SK\ 6 @  'P0  !D              ("!<X0
M 'AL+W=O<FMS:&5E=',O<VAE970R-2YX;6Q02P$"% ,4    "  .@@U94/CR
MCN,$  #['   &0              @(' A@  >&PO=V]R:W-H965T<R]S:&5E
M=#(V+GAM;%!+ 0(4 Q0    (  Z"#5F)-\#$S@(  #H(   9
M  " @=J+  !X;"]W;W)K<VAE971S+W-H965T,C<N>&UL4$L! A0#%     @
M#H(-6=$.A^$5 @  ,P0  !D              ("!WXX  'AL+W=O<FMS:&5E
M=',O<VAE970R."YX;6Q02P$"% ,4    "  .@@U9U9R#UE "  #.!0  &0
M            @($KD0  >&PO=V]R:W-H965T<R]S:&5E=#(Y+GAM;%!+ 0(4
M Q0    (  Z"#5F=?&.\@@(  -\%   9              " @;*3  !X;"]W
M;W)K<VAE971S+W-H965T,S N>&UL4$L! A0#%     @ #H(-66?6JBRF @
M\08  !D              ("!:Y8  'AL+W=O<FMS:&5E=',O<VAE970S,2YX
M;6Q02P$"% ,4    "  .@@U9T4/VQL\#  "G$0  &0              @(%(
MF0  >&PO=V]R:W-H965T<R]S:&5E=#,R+GAM;%!+ 0(4 Q0    (  Z"#5G
MM^T&/ ,  (,*   9              " @4Z=  !X;"]W;W)K<VAE971S+W-H
M965T,S,N>&UL4$L! A0#%     @ #H(-6<!J0GM+ P   0H  !D
M     ("!P:   'AL+W=O<FMS:&5E=',O<VAE970S-"YX;6Q02P$"% ,4
M"  .@@U9\^T97T8#   S"@  &0              @(%#I   >&PO=V]R:W-H
M965T<R]S:&5E=#,U+GAM;%!+ 0(4 Q0    (  Z"#5GEEM9=]@8  .!"   9
M              " @<"G  !X;"]W;W)K<VAE971S+W-H965T,S8N>&UL4$L!
M A0#%     @ #H(-67PE%K*S @  ] <  !D              ("![:X  'AL
M+W=O<FMS:&5E=',O<VAE970S-RYX;6Q02P$"% ,4    "  .@@U9S^IHQTX"
M  "J!0  &0              @('7L0  >&PO=V]R:W-H965T<R]S:&5E=#,X
M+GAM;%!+ 0(4 Q0    (  Z"#5E]^]_(#PH  +%T   9              "
M@5RT  !X;"]W;W)K<VAE971S+W-H965T,SDN>&UL4$L! A0#%     @ #H(-
M6=T#V)O>!@  "DT  !D              ("!HKX  'AL+W=O<FMS:&5E=',O
M<VAE970T,"YX;6Q02P$"% ,4    "  .@@U94]$\Q1@#  "R"@  &0
M        @(&WQ0  >&PO=V]R:W-H965T<R]S:&5E=#0Q+GAM;%!+ 0(4 Q0
M   (  Z"#5FSZ2:6O0(  "P(   9              " @0;)  !X;"]W;W)K
M<VAE971S+W-H965T-#(N>&UL4$L! A0#%     @ #H(-63*ZI9X6 P  ! P
M !D              ("!^LL  'AL+W=O<FMS:&5E=',O<VAE970T,RYX;6Q0
M2P$"% ,4    "  .@@U9L@>_828#  "U"P  &0              @(%'SP
M>&PO=V]R:W-H965T<R]S:&5E=#0T+GAM;%!+ 0(4 Q0    (  Z"#5F>_61;
M1@(  , $   9              " @:32  !X;"]W;W)K<VAE971S+W-H965T
M-#4N>&UL4$L! A0#%     @ #H(-63T,13A" P  )A0   T
M ( !(=4  'AL+W-T>6QE<RYX;6Q02P$"% ,4    "  .@@U9EXJ[',     3
M @  "P              @ &.V   7W)E;',O+G)E;'-02P$"% ,4    "  .
M@@U9O1^3A%$$   <'@  #P              @ %WV0  >&PO=V]R:V)O;VLN
M>&UL4$L! A0#%     @ #H(-6;@VQ-RI 0  +AL  !H              ( !
M]=T  'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QS4$L! A0#%     @ #H(-
M65/9*RFR 0  4QL  !,              ( !UM\  %M#;VYT96YT7U1Y<&5S
;72YX;6Q02P4&     #4 -0!J#@  N>$

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<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>59
<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>61
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.2.u1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>145</ContextCount>
  <ElementCount>193</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>43</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>4</UnitCount>
  <MyReports>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>00000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/CondensedConsolidatedBalanceSheets</Role>
      <ShortName>CONDENSED CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>00000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/CondensedConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>00000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (UNAUDITED)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (UNAUDITED)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>00000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (UNAUDITED)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquity</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (UNAUDITED)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>00000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>00000007 - Disclosure - INTERIM FINANCIAL STATEMENTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/InterimFinancialStatements</Role>
      <ShortName>INTERIM FINANCIAL STATEMENTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>00000008 - Disclosure - REVENUE</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/Revenue</Role>
      <ShortName>REVENUE</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>00000009 - Disclosure - CONTRACT ASSETS AND LIABILITIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/ContractAssetsAndLiabilities</Role>
      <ShortName>CONTRACT ASSETS AND LIABILITIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>00000010 - Disclosure - INVENTORY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/Inventory</Role>
      <ShortName>INVENTORY</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>00000011 - Disclosure - STOCK-BASED COMPENSATION</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/Stock-basedCompensation</Role>
      <ShortName>STOCK-BASED COMPENSATION</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>00000012 - Disclosure - NET INCOME PER SHARE</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/NetIncomePerShare</Role>
      <ShortName>NET INCOME PER SHARE</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>00000013 - Disclosure - LINE OF CREDIT AND LONG-TERM DEBT</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/LineOfCreditAndLong-termDebt</Role>
      <ShortName>LINE OF CREDIT AND LONG-TERM DEBT</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>00000014 - Disclosure - MAJOR CUSTOMERS AND VENDORS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/MajorCustomersAndVendors</Role>
      <ShortName>MAJOR CUSTOMERS AND VENDORS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>00000015 - Disclosure - LEASES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/Leases</Role>
      <ShortName>LEASES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>00000016 - Disclosure - INCOME TAXES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/IncomeTaxes</Role>
      <ShortName>INCOME TAXES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>00000017 - Disclosure - COMMITMENTS AND CONTINGENCIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/CommitmentsAndContingencies</Role>
      <ShortName>COMMITMENTS AND CONTINGENCIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>00000018 - Disclosure - INTERIM FINANCIAL STATEMENTS (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/InterimFinancialStatementsPolicies</Role>
      <ShortName>INTERIM FINANCIAL STATEMENTS (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>00000019 - Disclosure - REVENUE (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/RevenueTables</Role>
      <ShortName>REVENUE (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://cpiaero.com/role/Revenue</ParentRole>
      <Position>19</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>00000020 - Disclosure - CONTRACT ASSETS AND LIABILITIES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/ContractAssetsAndLiabilitiesTables</Role>
      <ShortName>CONTRACT ASSETS AND LIABILITIES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://cpiaero.com/role/ContractAssetsAndLiabilities</ParentRole>
      <Position>20</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>00000021 - Disclosure - INVENTORY (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/InventoryTables</Role>
      <ShortName>INVENTORY (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://cpiaero.com/role/Inventory</ParentRole>
      <Position>21</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>00000022 - Disclosure - STOCK-BASED COMPENSATION (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/Stock-basedCompensationTables</Role>
      <ShortName>STOCK-BASED COMPENSATION (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://cpiaero.com/role/Stock-basedCompensation</ParentRole>
      <Position>22</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>00000023 - Disclosure - LINE OF CREDIT AND LONG-TERM DEBT (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/LineOfCreditAndLong-termDebtTables</Role>
      <ShortName>LINE OF CREDIT AND LONG-TERM DEBT (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://cpiaero.com/role/LineOfCreditAndLong-termDebt</ParentRole>
      <Position>23</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>00000024 - Disclosure - LEASES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/LeasesTables</Role>
      <ShortName>LEASES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://cpiaero.com/role/Leases</ParentRole>
      <Position>24</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>00000025 - Disclosure - INTERIM FINANCIAL STATEMENTS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/InterimFinancialStatementsDetailsNarrative</Role>
      <ShortName>INTERIM FINANCIAL STATEMENTS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://cpiaero.com/role/InterimFinancialStatementsPolicies</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>00000026 - Disclosure - The following tables present the Company???s revenue disaggregated by contract type and revenue recognition method: (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails</Role>
      <ShortName>The following tables present the Company???s revenue disaggregated by contract type and revenue recognition method: (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>00000027 - Disclosure - Net EAC adjustments had the following impact on our gross profit during the six months ended June 30, 2024 and 2023: (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/NetEacAdjustmentsHadFollowingImpactOnOurGrossProfitDuringSixMonthsEndedJune302024And2023Details</Role>
      <ShortName>Net EAC adjustments had the following impact on our gross profit during the six months ended June 30, 2024 and 2023: (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>00000028 - Disclosure - REVENUE (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/RevenueDetailsNarrative</Role>
      <ShortName>REVENUE (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://cpiaero.com/role/RevenueTables</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>00000029 - Disclosure - Schedule of Contract liabilities are classified as current liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/ScheduleOfContractLiabilitiesAreClassifiedAsCurrentLiabilitiesDetails</Role>
      <ShortName>Schedule of Contract liabilities are classified as current liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>29</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>00000030 - Disclosure - CONTRACT ASSETS AND LIABILITIES (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/ContractAssetsAndLiabilitiesDetailsNarrative</Role>
      <ShortName>CONTRACT ASSETS AND LIABILITIES (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://cpiaero.com/role/ContractAssetsAndLiabilitiesTables</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>00000031 - Disclosure - The components of inventory consisted of the following: (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails</Role>
      <ShortName>The components of inventory consisted of the following: (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>31</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>00000032 - Disclosure - Stock-based compensation expense for restricted stock in the consolidated statements of operations is summarized as follows: (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails</Role>
      <ShortName>Stock-based compensation expense for restricted stock in the consolidated statements of operations is summarized as follows: (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>32</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>00000033 - Disclosure - The following table summarizes activity related to outstanding RSUs for the six months ended June 30, 2024: (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusForSixMonthsEndedJune302024Details</Role>
      <ShortName>The following table summarizes activity related to outstanding RSUs for the six months ended June 30, 2024: (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>33</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>00000034 - Disclosure - The following table summarizes activity related to outstanding Restricted Stock Awards for the six months ended June 30, 2024: (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRestrictedStockAwardsForSixMonthsEndedJune302024Details</Role>
      <ShortName>The following table summarizes activity related to outstanding Restricted Stock Awards for the six months ended June 30, 2024: (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>34</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>00000035 - Disclosure - The following table summarizes activity related to outstanding PRSAs for the six months ended June 30, 2024: (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingPrsasForSixMonthsEndedJune302024Details</Role>
      <ShortName>The following table summarizes activity related to outstanding PRSAs for the six months ended June 30, 2024: (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>35</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>00000036 - Disclosure - STOCK-BASED COMPENSATION (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative</Role>
      <ShortName>STOCK-BASED COMPENSATION (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://cpiaero.com/role/Stock-basedCompensationTables</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>00000037 - Disclosure - NET INCOME PER SHARE (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/NetIncomePerShareDetailsNarrative</Role>
      <ShortName>NET INCOME PER SHARE (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://cpiaero.com/role/NetIncomePerShare</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>00000038 - Disclosure - The maturities of the June 30, 2024 balance of these financing leases are as follows: (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/MaturitiesOfJune302024BalanceOfTheseFinancingLeasesAreAsFollowsDetails</Role>
      <ShortName>The maturities of the June 30, 2024 balance of these financing leases are as follows: (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>00000039 - Disclosure - LINE OF CREDIT AND LONG-TERM DEBT (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative</Role>
      <ShortName>LINE OF CREDIT AND LONG-TERM DEBT (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://cpiaero.com/role/LineOfCreditAndLong-termDebtTables</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>00000040 - Disclosure - MAJOR CUSTOMERS AND VENDORS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/MajorCustomersAndVendorsDetailsNarrative</Role>
      <ShortName>MAJOR CUSTOMERS AND VENDORS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://cpiaero.com/role/MajorCustomersAndVendors</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>00000041 - Disclosure - Future minimum lease payments under non-cancellable operating leases as of June 30, 2024 were as follows: (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302024WereAsFollowsDetails</Role>
      <ShortName>Future minimum lease payments under non-cancellable operating leases as of June 30, 2024 were as follows: (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>00000042 - Disclosure - The following table sets forth the right-of-use assets and operating lease liabilities as of: (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/FollowingTableSetsForthRight-of-useAssetsAndOperatingLeaseLiabilitiesAsOfDetails</Role>
      <ShortName>The following table sets forth the right-of-use assets and operating lease liabilities as of: (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>00000043 - Disclosure - LEASES (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/LeasesDetailsNarrative</Role>
      <ShortName>LEASES (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://cpiaero.com/role/LeasesTables</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>00000044 - Disclosure - INCOME TAXES (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/IncomeTaxesDetailsNarrative</Role>
      <ShortName>INCOME TAXES (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://cpiaero.com/role/IncomeTaxes</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="cpi-10q_063024.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>00000045 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/CommitmentsAndContingenciesDetailsNarrative</Role>
      <ShortName>COMMITMENTS AND CONTINGENCIES (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://cpiaero.com/role/CommitmentsAndContingencies</ParentRole>
      <Position>45</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-Q" isDefinitelyFs="true" isUsgaap="true" original="cpi-10q_063024.htm">cpi-10q_063024.htm</File>
    <File>cvu-20240630.xsd</File>
    <File>cvu-20240630_cal.xml</File>
    <File>cvu-20240630_def.xml</File>
    <File>cvu-20240630_lab.xml</File>
    <File>cvu-20240630_pre.xml</File>
  </InputFiles>
  <SupplementalFiles>
    <File>cpi10q001.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="479">http://fasb.org/us-gaap/2024</BaseTaxonomy>
    <BaseTaxonomy items="29">http://xbrl.sec.gov/dei/2024</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>64
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "cpi-10q_063024.htm": {
   "nsprefix": "cvu",
   "nsuri": "http://cpiaero.com/20240630",
   "dts": {
    "inline": {
     "local": [
      "cpi-10q_063024.htm"
     ]
    },
    "schema": {
     "local": [
      "cvu-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/stpr/2024/stpr-2024.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "cvu-20240630_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "cvu-20240630_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "cvu-20240630_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "cvu-20240630_pre.xml"
     ]
    }
   },
   "keyStandard": 182,
   "keyCustom": 11,
   "axisStandard": 15,
   "axisCustom": 0,
   "memberStandard": 20,
   "memberCustom": 23,
   "hidden": {
    "total": 44,
    "http://fasb.org/us-gaap/2024": 37,
    "http://cpiaero.com/20240630": 2,
    "http://xbrl.sec.gov/dei/2024": 5
   },
   "contextCount": 145,
   "entityCount": 1,
   "segmentCount": 43,
   "elementCount": 338,
   "unitCount": 4,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2024": 479,
    "http://xbrl.sec.gov/dei/2024": 29
   },
   "report": {
    "R1": {
     "role": "http://cpiaero.com/role/Cover",
     "longName": "00000001 - Document - Cover",
     "shortName": "Cover",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "b",
       "span",
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "b",
       "span",
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets",
     "longName": "00000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS",
     "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "AsOf2024-06-30",
      "name": "us-gaap:Cash",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-06-30",
      "name": "us-gaap:Cash",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://cpiaero.com/role/CondensedConsolidatedBalanceSheetsParenthetical",
     "longName": "00000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "AsOf2024-06-30",
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "unitRef": "USDPShares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-06-30",
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "unitRef": "USDPShares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R4": {
     "role": "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations",
     "longName": "00000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (UNAUDITED)",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (UNAUDITED)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "From2024-04-012024-06-30",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-04-012024-06-30",
      "name": "us-gaap:CostOfRevenue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "unique": true
     }
    },
    "R5": {
     "role": "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquity",
     "longName": "00000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (UNAUDITED)",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (UNAUDITED)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "AsOf2022-12-31_us-gaap_CommonStockMember",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-012023-03-31_us-gaap_RetainedEarningsMember",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "unique": true
     }
    },
    "R6": {
     "role": "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows",
     "longName": "00000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED)",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "unique": true
     }
    },
    "R7": {
     "role": "http://cpiaero.com/role/InterimFinancialStatements",
     "longName": "00000007 - Disclosure - INTERIM FINANCIAL STATEMENTS",
     "shortName": "INTERIM FINANCIAL STATEMENTS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "7",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R8": {
     "role": "http://cpiaero.com/role/Revenue",
     "longName": "00000008 - Disclosure - REVENUE",
     "shortName": "REVENUE",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "8",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://cpiaero.com/role/ContractAssetsAndLiabilities",
     "longName": "00000009 - Disclosure - CONTRACT ASSETS AND LIABILITIES",
     "shortName": "CONTRACT ASSETS AND LIABILITIES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "cvu:ContractWithCustomerAssetAndLiabilityTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "cvu:ContractWithCustomerAssetAndLiabilityTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://cpiaero.com/role/Inventory",
     "longName": "00000010 - Disclosure - INVENTORY",
     "shortName": "INVENTORY",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://cpiaero.com/role/Stock-basedCompensation",
     "longName": "00000011 - Disclosure - STOCK-BASED COMPENSATION",
     "shortName": "STOCK-BASED COMPENSATION",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://cpiaero.com/role/NetIncomePerShare",
     "longName": "00000012 - Disclosure - NET INCOME PER SHARE",
     "shortName": "NET INCOME PER SHARE",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://cpiaero.com/role/LineOfCreditAndLong-termDebt",
     "longName": "00000013 - Disclosure - LINE OF CREDIT AND LONG-TERM DEBT",
     "shortName": "LINE OF CREDIT AND LONG-TERM DEBT",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:LongTermDebtTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:LongTermDebtTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://cpiaero.com/role/MajorCustomersAndVendors",
     "longName": "00000014 - Disclosure - MAJOR CUSTOMERS AND VENDORS",
     "shortName": "MAJOR CUSTOMERS AND VENDORS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://cpiaero.com/role/Leases",
     "longName": "00000015 - Disclosure - LEASES",
     "shortName": "LEASES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://cpiaero.com/role/IncomeTaxes",
     "longName": "00000016 - Disclosure - INCOME TAXES",
     "shortName": "INCOME TAXES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://cpiaero.com/role/CommitmentsAndContingencies",
     "longName": "00000017 - Disclosure - COMMITMENTS AND CONTINGENCIES",
     "shortName": "COMMITMENTS AND CONTINGENCIES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://cpiaero.com/role/InterimFinancialStatementsPolicies",
     "longName": "00000018 - Disclosure - INTERIM FINANCIAL STATEMENTS (Policies)",
     "shortName": "INTERIM FINANCIAL STATEMENTS (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "18",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://cpiaero.com/role/RevenueTables",
     "longName": "00000019 - Disclosure - REVENUE (Tables)",
     "shortName": "REVENUE (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "19",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://cpiaero.com/role/ContractAssetsAndLiabilitiesTables",
     "longName": "00000020 - Disclosure - CONTRACT ASSETS AND LIABILITIES (Tables)",
     "shortName": "CONTRACT ASSETS AND LIABILITIES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "20",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://cpiaero.com/role/InventoryTables",
     "longName": "00000021 - Disclosure - INVENTORY (Tables)",
     "shortName": "INVENTORY (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "21",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://cpiaero.com/role/Stock-basedCompensationTables",
     "longName": "00000022 - Disclosure - STOCK-BASED COMPENSATION (Tables)",
     "shortName": "STOCK-BASED COMPENSATION (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "22",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://cpiaero.com/role/LineOfCreditAndLong-termDebtTables",
     "longName": "00000023 - Disclosure - LINE OF CREDIT AND LONG-TERM DEBT (Tables)",
     "shortName": "LINE OF CREDIT AND LONG-TERM DEBT (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "23",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://cpiaero.com/role/LeasesTables",
     "longName": "00000024 - Disclosure - LEASES (Tables)",
     "shortName": "LEASES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "24",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://cpiaero.com/role/InterimFinancialStatementsDetailsNarrative",
     "longName": "00000025 - Disclosure - INTERIM FINANCIAL STATEMENTS (Details Narrative)",
     "shortName": "INTERIM FINANCIAL STATEMENTS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "25",
     "firstAnchor": {
      "contextRef": "AsOf2024-06-30",
      "name": "us-gaap:CashUninsuredAmount",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-06-30",
      "name": "us-gaap:CashUninsuredAmount",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails",
     "longName": "00000026 - Disclosure - The following tables present the Company\u2019s revenue disaggregated by contract type and revenue recognition method: (Details)",
     "shortName": "The following tables present the Company\u2019s revenue disaggregated by contract type and revenue recognition method: (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "26",
     "firstAnchor": {
      "contextRef": "From2024-04-012024-06-30",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-04-012024-06-30_us-gaap_TransferredOverTimeMember",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "unique": true
     }
    },
    "R27": {
     "role": "http://cpiaero.com/role/NetEacAdjustmentsHadFollowingImpactOnOurGrossProfitDuringSixMonthsEndedJune302024And2023Details",
     "longName": "00000027 - Disclosure - Net EAC adjustments had the following impact on our gross profit during the six months ended June 30, 2024 and 2023: (Details)",
     "shortName": "Net EAC adjustments had the following impact on our gross profit during the six months ended June 30, 2024 and 2023: (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "27",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "cvu:EstimatesAtCompletionAdjustmentToGrossProfit",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "cvu:ScheduleOfEstimatesAtCompletionAdjustmentsTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "cvu:EstimatesAtCompletionAdjustmentToGrossProfit",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "cvu:ScheduleOfEstimatesAtCompletionAdjustmentsTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://cpiaero.com/role/RevenueDetailsNarrative",
     "longName": "00000028 - Disclosure - REVENUE (Details Narrative)",
     "shortName": "REVENUE (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "28",
     "firstAnchor": {
      "contextRef": "AsOf2024-06-30",
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-06-30",
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://cpiaero.com/role/ScheduleOfContractLiabilitiesAreClassifiedAsCurrentLiabilitiesDetails",
     "longName": "00000029 - Disclosure - Schedule of Contract liabilities are classified as current liabilities (Details)",
     "shortName": "Schedule of Contract liabilities are classified as current liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "29",
     "firstAnchor": {
      "contextRef": "AsOf2024-06-30",
      "name": "us-gaap:ContractWithCustomerAssetNet",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-06-30",
      "name": "us-gaap:ContractWithCustomerAssetNet",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://cpiaero.com/role/ContractAssetsAndLiabilitiesDetailsNarrative",
     "longName": "00000030 - Disclosure - CONTRACT ASSETS AND LIABILITIES (Details Narrative)",
     "shortName": "CONTRACT ASSETS AND LIABILITIES (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "30",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails",
     "longName": "00000031 - Disclosure - The components of inventory consisted of the following: (Details)",
     "shortName": "The components of inventory consisted of the following: (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "31",
     "firstAnchor": {
      "contextRef": "AsOf2024-06-30",
      "name": "us-gaap:InventoryRawMaterials",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-06-30",
      "name": "us-gaap:InventoryRawMaterials",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://cpiaero.com/role/Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails",
     "longName": "00000032 - Disclosure - Stock-based compensation expense for restricted stock in the consolidated statements of operations is summarized as follows: (Details)",
     "shortName": "Stock-based compensation expense for restricted stock in the consolidated statements of operations is summarized as follows: (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "32",
     "firstAnchor": {
      "contextRef": "From2024-04-012024-06-30",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-04-012024-06-30",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusForSixMonthsEndedJune302024Details",
     "longName": "00000033 - Disclosure - The following table summarizes activity related to outstanding RSUs for the six months ended June 30, 2024: (Details)",
     "shortName": "The following table summarizes activity related to outstanding RSUs for the six months ended June 30, 2024: (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "33",
     "firstAnchor": {
      "contextRef": "From2024-01-012024-06-30_us-gaap_RestrictedStockUnitsRSUMember",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-012024-06-30_us-gaap_RestrictedStockUnitsRSUMember",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRestrictedStockAwardsForSixMonthsEndedJune302024Details",
     "longName": "00000034 - Disclosure - The following table summarizes activity related to outstanding Restricted Stock Awards for the six months ended June 30, 2024: (Details)",
     "shortName": "The following table summarizes activity related to outstanding Restricted Stock Awards for the six months ended June 30, 2024: (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "34",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31_us-gaap_RestrictedStockMember",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31_us-gaap_RestrictedStockMember",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingPrsasForSixMonthsEndedJune302024Details",
     "longName": "00000035 - Disclosure - The following table summarizes activity related to outstanding PRSAs for the six months ended June 30, 2024: (Details)",
     "shortName": "The following table summarizes activity related to outstanding PRSAs for the six months ended June 30, 2024: (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "35",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31_us-gaap_PerformanceSharesMember",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31_us-gaap_PerformanceSharesMember",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative",
     "longName": "00000036 - Disclosure - STOCK-BASED COMPENSATION (Details Narrative)",
     "shortName": "STOCK-BASED COMPENSATION (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "36",
     "firstAnchor": {
      "contextRef": "From2024-01-012024-06-30_us-gaap_RestrictedStockUnitsRSUMember",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-012024-06-30_us-gaap_RestrictedStockUnitsRSUMember",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://cpiaero.com/role/NetIncomePerShareDetailsNarrative",
     "longName": "00000037 - Disclosure - NET INCOME PER SHARE (Details Narrative)",
     "shortName": "NET INCOME PER SHARE (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "37",
     "firstAnchor": {
      "contextRef": "From2024-04-012024-06-30",
      "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-04-012024-06-30",
      "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://cpiaero.com/role/MaturitiesOfJune302024BalanceOfTheseFinancingLeasesAreAsFollowsDetails",
     "longName": "00000038 - Disclosure - The maturities of the June 30, 2024 balance of these financing leases are as follows: (Details)",
     "shortName": "The maturities of the June 30, 2024 balance of these financing leases are as follows: (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "38",
     "firstAnchor": {
      "contextRef": "AsOf2024-06-30",
      "name": "us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-06-30",
      "name": "us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative",
     "longName": "00000039 - Disclosure - LINE OF CREDIT AND LONG-TERM DEBT (Details Narrative)",
     "shortName": "LINE OF CREDIT AND LONG-TERM DEBT (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "39",
     "firstAnchor": {
      "contextRef": "AsOf2024-06-30",
      "name": "us-gaap:DebtInstrumentInterestRateStatedPercentage",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:FinanceLeaseLiability",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "unique": true
     }
    },
    "R40": {
     "role": "http://cpiaero.com/role/MajorCustomersAndVendorsDetailsNarrative",
     "longName": "00000040 - Disclosure - MAJOR CUSTOMERS AND VENDORS (Details Narrative)",
     "shortName": "MAJOR CUSTOMERS AND VENDORS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "40",
     "firstAnchor": {
      "contextRef": "From2024-04-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-04-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302024WereAsFollowsDetails",
     "longName": "00000041 - Disclosure - Future minimum lease payments under non-cancellable operating leases as of June 30, 2024 were as follows: (Details)",
     "shortName": "Future minimum lease payments under non-cancellable operating leases as of June 30, 2024 were as follows: (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "firstAnchor": {
      "contextRef": "AsOf2024-06-30",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-06-30",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://cpiaero.com/role/FollowingTableSetsForthRight-of-useAssetsAndOperatingLeaseLiabilitiesAsOfDetails",
     "longName": "00000042 - Disclosure - The following table sets forth the right-of-use assets and operating lease liabilities as of: (Details)",
     "shortName": "The following table sets forth the right-of-use assets and operating lease liabilities as of: (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "42",
     "firstAnchor": {
      "contextRef": "AsOf2024-06-30",
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R43": {
     "role": "http://cpiaero.com/role/LeasesDetailsNarrative",
     "longName": "00000043 - Disclosure - LEASES (Details Narrative)",
     "shortName": "LEASES (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:LeaseExpirationDate1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-06-30",
      "name": "us-gaap:LeaseExpirationDate1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    },
    "R44": {
     "role": "http://cpiaero.com/role/IncomeTaxesDetailsNarrative",
     "longName": "00000044 - Disclosure - INCOME TAXES (Details Narrative)",
     "shortName": "INCOME TAXES (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "From2024-04-012024-06-30",
      "name": "us-gaap:IncomeTaxExpenseBenefit",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-04-012023-06-30",
      "name": "us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "unique": true
     }
    },
    "R45": {
     "role": "http://cpiaero.com/role/CommitmentsAndContingenciesDetailsNarrative",
     "longName": "00000045 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details Narrative)",
     "shortName": "COMMITMENTS AND CONTINGENCIES (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "From2024-06-012024-06-20",
      "name": "us-gaap:LitigationSettlementAmountAwardedToOtherParty",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-06-012024-06-20",
      "name": "us-gaap:LitigationSettlementAmountAwardedToOtherParty",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cpi-10q_063024.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts payable",
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r472"
     ]
    },
    "us-gaap_AccountsPayableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsPayableMember",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersAndVendorsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Payable [Member]",
        "documentation": "Obligations incurred and payable to vendors for goods and services received."
       }
      }
     },
     "auth_ref": [
      "r26"
     ]
    },
    "us-gaap_AccountsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableMember",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersAndVendorsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable [Member]",
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold."
       }
      }
     },
     "auth_ref": [
      "r433"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable, net of allowance for credit losses",
        "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": [
      "r532"
     ]
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued expenses",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r27"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdditionalPaidInCapitalCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional paid-in capital",
        "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital."
       }
      }
     },
     "auth_ref": [
      "r37"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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": [
      "r372",
      "r523",
      "r524",
      "r525",
      "r526",
      "r577",
      "r625"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based compensation expense",
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r21",
      "r222"
     ]
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net income to net cash (used in) provided by operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllocatedShareBasedCompensationExpense",
     "crdr": "debit",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total stock-based compensation expense",
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized."
       }
      }
     },
     "auth_ref": [
      "r252",
      "r257"
     ]
    },
    "dei_AmendmentDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AmendmentDescription",
     "presentation": [
      "http://cpiaero.com/role/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://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AmortizationOfFinancingCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AmortizationOfFinancingCosts",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization of debt issuance cost",
        "documentation": "Amount of amortization expense attributable to debt issuance costs."
       }
      }
     },
     "auth_ref": [
      "r50",
      "r200",
      "r520",
      "r582"
     ]
    },
    "dei_AnnualInformationForm": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AnnualInformationForm",
     "presentation": [
      "http://cpiaero.com/role/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": [
      "r504"
     ]
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Assets",
        "label": "Assets",
        "documentation": "Amount of asset recognized for present right to economic benefit."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r81",
      "r94",
      "r109",
      "r143",
      "r145",
      "r153",
      "r154",
      "r159",
      "r176",
      "r177",
      "r178",
      "r179",
      "r180",
      "r181",
      "r182",
      "r183",
      "r184",
      "r287",
      "r289",
      "r307",
      "r338",
      "r399",
      "r443",
      "r444",
      "r472",
      "r489",
      "r546",
      "r547",
      "r585"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets",
      "http://cpiaero.com/role/FollowingTableSetsForthRight-of-useAssetsAndOperatingLeaseLiabilitiesAsOfDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ASSETS",
        "verboseLabel": "Assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "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": [
      "r90",
      "r96",
      "r109",
      "r159",
      "r176",
      "r177",
      "r178",
      "r179",
      "r180",
      "r181",
      "r182",
      "r183",
      "r184",
      "r287",
      "r289",
      "r307",
      "r472",
      "r546",
      "r547",
      "r585"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Assets:"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AuditedAnnualFinancialStatements": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditedAnnualFinancialStatements",
     "presentation": [
      "http://cpiaero.com/role/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": [
      "r504"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingPrsasForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRestrictedStockAwardsForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type [Axis]",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r226",
      "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"
     ]
    },
    "cvu_BankUnitedMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "BankUnitedMember",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Bank United [Member]",
        "documentation": "Bank United [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "presentation": [
      "http://cpiaero.com/role/InterimFinancialStatementsPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basis of Presentation",
        "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Cash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Cash",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r84",
      "r340",
      "r373",
      "r394",
      "r472",
      "r489",
      "r513"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "crdr": "debit",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Cash at beginning of period",
        "periodEndLabel": "Cash at end of period",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations",
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, 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": [
      "r9",
      "r53",
      "r108"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net decrease in cash",
        "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": [
      "r0",
      "r53"
     ]
    },
    "cvu_CashPaidDuringPeriodForAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "CashPaidDuringPeriodForAbstract",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash paid during the period for:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashUninsuredAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashUninsuredAmount",
     "crdr": "debit",
     "presentation": [
      "http://cpiaero.com/role/InterimFinancialStatementsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Uninsured balance",
        "documentation": "The amount of cash as of the balance sheet date that is not insured by the Federal Deposit Insurance Corporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CityAreaCode",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "cvu_CommercialContractsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "CommercialContractsMember",
     "presentation": [
      "http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commercial contracts [Member]",
        "documentation": "Commercial contracts."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies (see note 11)",
        "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": [
      "r33",
      "r73",
      "r339",
      "r385"
     ]
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "presentation": [
      "http://cpiaero.com/role/CommitmentsAndContingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "COMMITMENTS AND CONTINGENCIES",
        "documentation": "The entire disclosure for commitments and contingencies."
       }
      }
     },
     "auth_ref": [
      "r61",
      "r168",
      "r169",
      "r434",
      "r536",
      "r541"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockMember",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock [Member]",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r480",
      "r481",
      "r482",
      "r484",
      "r485",
      "r486",
      "r487",
      "r523",
      "r524",
      "r526",
      "r577",
      "r624",
      "r625"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, par value (in dollars per share)",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r36"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, authorized",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r36",
      "r386"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, 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": [
      "r36"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheetsParenthetical",
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, outstanding",
        "periodStartLabel": "Beginning balance (in shares)",
        "periodEndLabel": "Ending balance (in shares)",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r36",
      "r386",
      "r405",
      "r625",
      "r626"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock - $.001 par value; authorized 50,000,000 shares, 12,962,863 and 12,771,434 shares, respectively, issued and outstanding",
        "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": [
      "r36",
      "r341",
      "r472"
     ]
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersAndVendorsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r14",
      "r22",
      "r23",
      "r157",
      "r433"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersAndVendorsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Axis]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r14",
      "r22",
      "r23",
      "r157",
      "r367",
      "r433"
     ]
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersAndVendorsDetailsNarrative"
     ],
     "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": [
      "r13",
      "r14",
      "r22",
      "r23",
      "r157",
      "r433",
      "r511"
     ]
    },
    "us-gaap_ConcentrationRiskDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskDisclosureTextBlock",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersAndVendors"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "MAJOR CUSTOMERS AND VENDORS",
        "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": [
      "r58"
     ]
    },
    "us-gaap_ConcentrationRiskLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskLineItems",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersAndVendorsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration 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": [
      "r433"
     ]
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskPercentage1",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersAndVendorsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk, Percentage",
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r14",
      "r22",
      "r23",
      "r157"
     ]
    },
    "us-gaap_ConcentrationRiskTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskTable",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersAndVendorsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk [Table]",
        "documentation": "Disclosure of information about concentration risk. Includes, but is not limited to, percentage of concentration risk and benchmark serving as denominator in calculation of percentage of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r13",
      "r14",
      "r15",
      "r22",
      "r68",
      "r433"
     ]
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersAndVendorsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r14",
      "r22",
      "r23",
      "r157",
      "r433"
     ]
    },
    "cvu_ContractAssetsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "ContractAssetsMember",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersAndVendorsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract Assets [Member]",
        "documentation": "Contract Assets [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "presentation": [
      "http://cpiaero.com/role/ContractAssetsAndLiabilitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of contract assets and liabilities",
        "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability."
       }
      }
     },
     "auth_ref": [
      "r549"
     ]
    },
    "cvu_ContractWithCustomerAssetAndLiabilityTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "ContractWithCustomerAssetAndLiabilityTextBlock",
     "presentation": [
      "http://cpiaero.com/role/ContractAssetsAndLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CONTRACT ASSETS AND LIABILITIES",
        "documentation": "The entire disclosure of contract assets and contract liabilities from contract with customer."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerAssetNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerAssetNet",
     "crdr": "debit",
     "presentation": [
      "http://cpiaero.com/role/ScheduleOfContractLiabilitiesAreClassifiedAsCurrentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract assets",
        "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time."
       }
      }
     },
     "auth_ref": [
      "r202",
      "r204",
      "r215"
     ]
    },
    "us-gaap_ContractWithCustomerAssetNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerAssetNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract assets, net",
        "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current."
       }
      }
     },
     "auth_ref": [
      "r202",
      "r204",
      "r215"
     ]
    },
    "us-gaap_ContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerLiability",
     "crdr": "credit",
     "presentation": [
      "http://cpiaero.com/role/ScheduleOfContractLiabilitiesAreClassifiedAsCurrentLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "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": [
      "r202",
      "r203",
      "r215"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract liabilities",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r202",
      "r203",
      "r215"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "crdr": "credit",
     "presentation": [
      "http://cpiaero.com/role/ContractAssetsAndLiabilitiesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue recognized that was included in contract liabilities",
        "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due."
       }
      }
     },
     "auth_ref": [
      "r216"
     ]
    },
    "us-gaap_CostOfRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CostOfRevenue",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of sales",
        "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r109",
      "r159",
      "r176",
      "r177",
      "r178",
      "r179",
      "r180",
      "r181",
      "r182",
      "r183",
      "r184",
      "r307",
      "r443",
      "r546"
     ]
    },
    "us-gaap_CostOfSalesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CostOfSalesMember",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of Sales [Member]",
        "documentation": "Primary financial statement caption encompassing cost of sales."
       }
      }
     },
     "auth_ref": []
    },
    "dei_CountryRegion": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CountryRegion",
     "presentation": [
      "http://cpiaero.com/role/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_CreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CreditFacilityAxis",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Facility [Axis]",
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing."
       }
      }
     },
     "auth_ref": [
      "r175",
      "r544"
     ]
    },
    "us-gaap_CreditFacilityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CreditFacilityDomain",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing."
       }
      }
     },
     "auth_ref": [
      "r175",
      "r544",
      "r545"
     ]
    },
    "srt_CumulativeEffectPeriodOfAdoptionAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "CumulativeEffectPeriodOfAdoptionAxis",
     "presentation": [
      "http://cpiaero.com/role/NetEacAdjustmentsHadFollowingImpactOnOurGrossProfitDuringSixMonthsEndedJune302024And2023Details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cumulative Effect, Period of Adoption [Axis]"
       }
      }
     },
     "auth_ref": [
      "r88",
      "r115",
      "r120",
      "r127",
      "r160",
      "r161",
      "r164",
      "r272",
      "r273",
      "r280",
      "r282",
      "r291",
      "r292",
      "r293",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r327"
     ]
    },
    "srt_CumulativeEffectPeriodOfAdoptionDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "CumulativeEffectPeriodOfAdoptionDomain",
     "presentation": [
      "http://cpiaero.com/role/NetEacAdjustmentsHadFollowingImpactOnOurGrossProfitDuringSixMonthsEndedJune302024And2023Details"
     ],
     "auth_ref": [
      "r88",
      "r115",
      "r120",
      "r127",
      "r160",
      "r161",
      "r164",
      "r272",
      "r273",
      "r280",
      "r282",
      "r291",
      "r292",
      "r293",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r327"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CustomerConcentrationRiskMember",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersAndVendorsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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": [
      "r59",
      "r157"
     ]
    },
    "cvu_CustomerFourMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "CustomerFourMember",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersAndVendorsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer Four [Member]",
        "documentation": "Customer Four."
       }
      }
     },
     "auth_ref": []
    },
    "cvu_CustomerOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "CustomerOneMember",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersAndVendorsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer One [Member]",
        "documentation": "Customer One."
       }
      }
     },
     "auth_ref": []
    },
    "cvu_CustomerThreeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "CustomerThreeMember",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersAndVendorsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer Three [Member]",
        "documentation": "Customer Three."
       }
      }
     },
     "auth_ref": []
    },
    "cvu_CustomerTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "CustomerTwoMember",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersAndVendorsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer Two [Member]",
        "documentation": "Customer Two."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentAxis",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument [Axis]",
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r26",
      "r27",
      "r71",
      "r72",
      "r111",
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r193",
      "r194",
      "r195",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r470",
      "r521",
      "r537",
      "r538",
      "r539",
      "r581",
      "r583"
     ]
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prime rate Plus",
        "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentFaceAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentFaceAmount",
     "crdr": "credit",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt instrument, face amount",
        "documentation": "Face (par) amount of debt instrument at time of issuance."
       }
      }
     },
     "auth_ref": [
      "r185",
      "r315",
      "r316",
      "r448",
      "r449",
      "r470"
     ]
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prime rate",
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement."
       }
      }
     },
     "auth_ref": [
      "r29",
      "r186"
     ]
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentNameDomain",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r111",
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r193",
      "r194",
      "r195",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r470",
      "r521",
      "r537",
      "r538",
      "r539",
      "r581",
      "r583"
     ]
    },
    "us-gaap_DeferredFinanceCostsNoncurrentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredFinanceCostsNoncurrentNet",
     "crdr": "debit",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt issuance costs",
        "documentation": "Amount, after accumulated amortization, of debt issuance costs classified as noncurrent. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs."
       }
      }
     },
     "auth_ref": [
      "r580",
      "r581",
      "r583"
     ]
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred tax asset",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r260",
      "r261"
     ]
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DepreciationDepletionAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation and amortization",
        "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r143",
      "r149",
      "r154",
      "r443",
      "r444"
     ]
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisaggregationOfRevenueLineItems",
     "presentation": [
      "http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of 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": [
      "r214",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisaggregationOfRevenueTable",
     "presentation": [
      "http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Table]",
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor."
       }
      }
     },
     "auth_ref": [
      "r214",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "presentation": [
      "http://cpiaero.com/role/RevenueTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "The following tables present the Company\u2019s revenue disaggregated by contract type and revenue recognition method:",
        "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor."
       }
      }
     },
     "auth_ref": [
      "r550"
     ]
    },
    "cvu_DisclosureContractAssetsAndLiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "DisclosureContractAssetsAndLiabilitiesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract Assets And Liabilities",
        "verboseLabel": "Schedule Of Contract Liabilities Are Classified As Current Liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "cvu_DisclosureLeasesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "DisclosureLeasesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases",
        "verboseLabel": "Future Minimum Lease Payments Under Non-cancellable Operating Leases As Of June 30 2024 Were As Follows",
        "terseLabel": "Following Table Sets Forth Right-of-use Assets And Operating Lease Liabilities As Of"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "STOCK-BASED COMPENSATION",
        "documentation": "The entire disclosure for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r220",
      "r225",
      "r253",
      "r254",
      "r256",
      "r461"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentAccountingStandard": {
     "xbrltype": "accountingStandardItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentAccountingStandard",
     "presentation": [
      "http://cpiaero.com/role/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": [
      "r503"
     ]
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://cpiaero.com/role/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": [
      "r501",
      "r503",
      "r504"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Period Focus",
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodStartDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentPeriodStartDate",
     "presentation": [
      "http://cpiaero.com/role/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://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Quarterly Report",
        "documentation": "Boolean flag that is true only for a form used as an quarterly report."
       }
      }
     },
     "auth_ref": [
      "r502"
     ]
    },
    "dei_DocumentRegistrationStatement": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentRegistrationStatement",
     "presentation": [
      "http://cpiaero.com/role/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": [
      "r490"
     ]
    },
    "dei_DocumentShellCompanyEventDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentShellCompanyEventDate",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Event Date",
        "documentation": "Date of event requiring a shell company report."
       }
      }
     },
     "auth_ref": [
      "r503"
     ]
    },
    "dei_DocumentShellCompanyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentShellCompanyReport",
     "presentation": [
      "http://cpiaero.com/role/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": [
      "r503"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r505"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentType",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Documents Incorporated by Reference [Text Block]",
        "documentation": "Documents incorporated by reference."
       }
      }
     },
     "auth_ref": [
      "r493"
     ]
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income per common 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": [
      "r102",
      "r118",
      "r119",
      "r120",
      "r121",
      "r122",
      "r123",
      "r129",
      "r131",
      "r136",
      "r137",
      "r138",
      "r142",
      "r283",
      "r286",
      "r301",
      "r302",
      "r335",
      "r348",
      "r440"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income per common 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": [
      "r102",
      "r118",
      "r119",
      "r120",
      "r121",
      "r122",
      "r123",
      "r131",
      "r136",
      "r137",
      "r138",
      "r142",
      "r283",
      "r286",
      "r301",
      "r302",
      "r335",
      "r348",
      "r440"
     ]
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://cpiaero.com/role/NetIncomePerShare"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "NET INCOME PER SHARE",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r128",
      "r139",
      "r140",
      "r141"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "presentation": [
      "http://cpiaero.com/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective income tax rate",
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r263",
      "r463"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "presentation": [
      "http://cpiaero.com/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statutory income tax rate",
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)."
       }
      }
     },
     "auth_ref": [
      "r110",
      "r263",
      "r274",
      "r463"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "crdr": "debit",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unamortized stock-based compensation costs",
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r255"
     ]
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeStockOptionMember",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Option [Member]",
        "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": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://cpiaero.com/role/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://cpiaero.com/role/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://cpiaero.com/role/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://cpiaero.com/role/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://cpiaero.com/role/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://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityBankruptcyProceedingsReportingCurrent": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityBankruptcyProceedingsReportingCurrent",
     "presentation": [
      "http://cpiaero.com/role/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": [
      "r496"
     ]
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r492"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Common Stock, Shares Outstanding",
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r492"
     ]
    },
    "dei_EntityExTransitionPeriod": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityExTransitionPeriod",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Elected Not To Use the Extended 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": [
      "r509"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r492"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://cpiaero.com/role/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_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r506"
     ]
    },
    "dei_EntityPrimarySicNumber": {
     "xbrltype": "sicNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityPrimarySicNumber",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Primary SIC Number",
        "documentation": "Primary Standard Industrial Classification (SIC) Number for the Entity."
       }
      }
     },
     "auth_ref": [
      "r504"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://cpiaero.com/role/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://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r492"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r492"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r492"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r492"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://cpiaero.com/role/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://cpiaero.com/role/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": [
      "r507"
     ]
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r88",
      "r99",
      "r100",
      "r101",
      "r112",
      "r113",
      "r114",
      "r117",
      "r122",
      "r124",
      "r126",
      "r144",
      "r160",
      "r161",
      "r164",
      "r201",
      "r272",
      "r273",
      "r280",
      "r281",
      "r282",
      "r284",
      "r285",
      "r286",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r297",
      "r300",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r317",
      "r319",
      "r328",
      "r347",
      "r361",
      "r362",
      "r363",
      "r372",
      "r425"
     ]
    },
    "cvu_EstimatesAtCompletionAdjustmentToGrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "EstimatesAtCompletionAdjustmentToGrossProfit",
     "crdr": "credit",
     "presentation": [
      "http://cpiaero.com/role/NetEacAdjustmentsHadFollowingImpactOnOurGrossProfitDuringSixMonthsEndedJune302024And2023Details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net adjustments",
        "documentation": "Estimates at Completion adjustments to gross profit."
       }
      }
     },
     "auth_ref": []
    },
    "dei_Extension": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Extension",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Extension",
        "documentation": "Extension number for local phone number."
       }
      }
     },
     "auth_ref": []
    },
    "cvu_FavorableAdjustmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "FavorableAdjustmentMember",
     "presentation": [
      "http://cpiaero.com/role/NetEacAdjustmentsHadFollowingImpactOnOurGrossProfitDuringSixMonthsEndedJune302024And2023Details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Favorable adjustments [Member]",
        "documentation": "Favorable adjustments."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinanceLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseLiability",
     "crdr": "credit",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing leases",
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease."
       }
      }
     },
     "auth_ref": [
      "r321",
      "r325"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseLiabilityCurrent",
     "crdr": "credit",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing leases current",
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r321"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseLiabilityMaturityTableTextBlock",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "The maturities of the June 30, 2024 balance of these financing leases are as follows:",
        "documentation": "Tabular disclosure of undiscounted cash flows of finance lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to finance lease liability recognized in statement of financial position."
       }
      }
     },
     "auth_ref": [
      "r584"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/MaturitiesOfJune302024BalanceOfTheseFinancingLeasesAreAsFollowsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://cpiaero.com/role/MaturitiesOfJune302024BalanceOfTheseFinancingLeasesAreAsFollowsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total",
        "label": "Finance Lease, Liability, to be Paid",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease."
       }
      }
     },
     "auth_ref": [
      "r325"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/MaturitiesOfJune302024BalanceOfTheseFinancingLeasesAreAsFollowsDetails": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/MaturitiesOfJune302024BalanceOfTheseFinancingLeasesAreAsFollowsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2025",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid 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": [
      "r325"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/MaturitiesOfJune302024BalanceOfTheseFinancingLeasesAreAsFollowsDetails": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/MaturitiesOfJune302024BalanceOfTheseFinancingLeasesAreAsFollowsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Remainder of 2024",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in remainder of current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r584"
     ]
    },
    "us-gaap_Goodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Goodwill",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill",
        "documentation": "Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r92",
      "r163",
      "r334",
      "r444",
      "r446",
      "r464",
      "r472",
      "r534",
      "r535"
     ]
    },
    "cvu_GovernmentSubcontractsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "GovernmentSubcontractsMember",
     "presentation": [
      "http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Government subcontracts [Member]",
        "documentation": "Government subcontracts."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gross profit",
        "label": "Gross Profit",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r47",
      "r80",
      "r109",
      "r159",
      "r176",
      "r177",
      "r178",
      "r179",
      "r180",
      "r181",
      "r182",
      "r183",
      "r184",
      "r307",
      "r442",
      "r443",
      "r527",
      "r528",
      "r529",
      "r530",
      "r531",
      "r546"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "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": [
      "r46",
      "r76",
      "r80",
      "r336",
      "r345",
      "r442",
      "r443",
      "r527",
      "r528",
      "r529",
      "r530",
      "r531"
     ]
    },
    "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_IncomeStatementLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeStatementLocationAxis",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Income Location, Balance [Axis]",
        "documentation": "Information by location in statement of income where disaggregated amount has been reported."
       }
      }
     },
     "auth_ref": [
      "r165",
      "r166",
      "r167",
      "r304",
      "r305",
      "r306",
      "r358",
      "r360",
      "r410",
      "r437",
      "r465",
      "r595"
     ]
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeStatementLocationDomain",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in statement of income where disaggregated amount has been reported."
       }
      }
     },
     "auth_ref": [
      "r166",
      "r167",
      "r304",
      "r305",
      "r306",
      "r358",
      "r360",
      "r410",
      "r437",
      "r465",
      "r595"
     ]
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://cpiaero.com/role/IncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "INCOME TAXES",
        "documentation": "The entire disclosure for income tax."
       }
      }
     },
     "auth_ref": [
      "r110",
      "r259",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r269",
      "r275",
      "r277",
      "r278",
      "r279",
      "r371",
      "r463"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations",
      "http://cpiaero.com/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Provision for income taxes",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r83",
      "r86",
      "r125",
      "r126",
      "r143",
      "r150",
      "r154",
      "r262",
      "r263",
      "r276",
      "r349",
      "r463"
     ]
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxesPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes",
        "documentation": "Amount, after refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r107",
      "r270",
      "r271"
     ]
    },
    "us-gaap_IncomeTaxesReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxesReceivable",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Refundable income taxes",
        "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": [
      "r69",
      "r514"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "(Decrease) increase in accounts payable and accrued expenses",
        "documentation": "The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Increase in 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": [
      "r1"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 18.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase 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": [
      "r1"
     ]
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInContractWithCustomerAsset",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Decrease (increase) in contract assets",
        "label": "Increase (Decrease) in Contract with Customer, Asset",
        "documentation": "Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time."
       }
      }
     },
     "auth_ref": [
      "r519"
     ]
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "(Decrease) increase in contract liabilities",
        "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": [
      "r332",
      "r519"
     ]
    },
    "us-gaap_IncreaseDecreaseInDeferredIncomeTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInDeferredIncomeTaxes",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Deferred income taxes",
        "label": "Increase (Decrease) in Deferred Income Taxes",
        "documentation": "The increase (decrease) during the reporting period in the account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "us-gaap_IncreaseDecreaseInInsuranceSettlementsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInInsuranceSettlementsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Decrease in insurance receivable",
        "label": "Increase (Decrease) in Insurance Settlements Receivable",
        "documentation": "The increase (decrease) during the reporting period in insurance settlements receivable, which are amounts due in settlement of a claim for reimbursement from an insurance company when the Company has suffered a loss covered under an insurance policy. The expectation is that such reimbursement will be received within one year of the balance sheet date."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Decrease in inventory",
        "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": [
      "r1"
     ]
    },
    "cvu_IncreaseDecreaseInLitigationSettlementObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "IncreaseDecreaseInLitigationSettlementObligation",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Decrease in settlement of litigation obligation",
        "documentation": "The increase (decrease) during the reporting period in litigation settlement obligation."
       }
      }
     },
     "auth_ref": []
    },
    "cvu_IncreaseDecreaseInLossReserve": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "IncreaseDecreaseInLossReserve",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 17.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Decrease in loss reserve",
        "documentation": "The amount of increase (decrease) in loss reserve."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changes in operating assets and liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOperatingLeaseLiability",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 16.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Decrease in operating lease liabilities",
        "documentation": "Amount of increase (decrease) in obligation for operating lease."
       }
      }
     },
     "auth_ref": [
      "r512",
      "r519"
     ]
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Decrease in prepaid expenses and other 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": [
      "r1"
     ]
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "presentation": [
      "http://cpiaero.com/role/NetIncomePerShareDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Incremental shares used in calculation of diluted income per common share",
        "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": [
      "r132",
      "r133",
      "r134",
      "r138",
      "r224"
     ]
    },
    "us-gaap_InterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestExpense",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Interest expense",
        "label": "Interest Expense, Operating and Nonoperating",
        "documentation": "Amount of interest expense classified as operating and nonoperating. Includes, but is not limited to, cost of borrowing accounted for as interest expense."
       }
      }
     },
     "auth_ref": [
      "r143",
      "r145",
      "r148",
      "r151",
      "r154",
      "r314",
      "r443",
      "r444"
     ]
    },
    "us-gaap_InterestPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest",
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount."
       }
      }
     },
     "auth_ref": [
      "r103",
      "r105",
      "r106"
     ]
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryDisclosureTextBlock",
     "presentation": [
      "http://cpiaero.com/role/Inventory"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "INVENTORY",
        "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory."
       }
      }
     },
     "auth_ref": [
      "r162"
     ]
    },
    "us-gaap_InventoryFinishedGoods": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryFinishedGoods",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finished goods",
        "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r515"
     ]
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryNet",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      },
      "http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails",
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory",
        "totalLabel": "Inventory, net",
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r95",
      "r439",
      "r472"
     ]
    },
    "us-gaap_InventoryRawMaterials": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryRawMaterials",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Raw materials",
        "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r517"
     ]
    },
    "us-gaap_InventoryWorkInProcess": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryWorkInProcess",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Work in progress",
        "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": [
      "r516"
     ]
    },
    "cvu_LTIP2016Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "LTIP2016Member",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long Term Incentive Plan 2016 [Member]",
        "documentation": "Long Term Incentive Plan 2016."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseExpirationDate1": {
     "xbrltype": "dateItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LeaseExpirationDate1",
     "presentation": [
      "http://cpiaero.com/role/LeasesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Expiration date",
        "label": "Lease Expiration Date",
        "documentation": "Date which lease or group of leases is set to expire, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "presentation": [
      "http://cpiaero.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Future minimum lease payments under non-cancellable operating leases as of June 30, 2024 were as follows:",
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position."
       }
      }
     },
     "auth_ref": [
      "r584"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302024WereAsFollowsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302024WereAsFollowsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total undiscounted operating lease payments",
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease."
       }
      }
     },
     "auth_ref": [
      "r325"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302024WereAsFollowsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302024WereAsFollowsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2025",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid 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": [
      "r325"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302024WereAsFollowsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302024WereAsFollowsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2028",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth 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": [
      "r325"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302024WereAsFollowsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302024WereAsFollowsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2027",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third 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": [
      "r325"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302024WereAsFollowsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302024WereAsFollowsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2026",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second 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": [
      "r325"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302024WereAsFollowsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302024WereAsFollowsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Remainder of 2024",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r584"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "presentation": [
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302024WereAsFollowsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less imputed interest",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease."
       }
      }
     },
     "auth_ref": [
      "r325"
     ]
    },
    "cvu_LesseeOperatingLeasesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "LesseeOperatingLeasesTableTextBlock",
     "presentation": [
      "http://cpiaero.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "The following table sets forth the right-of-use assets and operating lease liabilities as of:",
        "documentation": "Tabular disclosure of lessee operating leases."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeasesTextBlock",
     "presentation": [
      "http://cpiaero.com/role/Leases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "LEASES",
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r318"
     ]
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Liabilities",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Liabilities",
        "label": "Liabilities [Default Label]",
        "documentation": "Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r26",
      "r27",
      "r28",
      "r31",
      "r32",
      "r33",
      "r34",
      "r109",
      "r159",
      "r176",
      "r177",
      "r178",
      "r179",
      "r180",
      "r181",
      "r182",
      "r183",
      "r184",
      "r288",
      "r289",
      "r290",
      "r307",
      "r384",
      "r441",
      "r489",
      "r546",
      "r585",
      "r586"
     ]
    },
    "us-gaap_LiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAbstract",
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSetsForthRight-of-useAssetsAndOperatingLeaseLiabilitiesAsOfDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Liabilities and Shareholders\u2019 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": [
      "r41",
      "r74",
      "r343",
      "r472",
      "r522",
      "r533",
      "r579"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "LIABILITIES AND SHAREHOLDERS\u2019 EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Current Liabilities",
        "label": "Liabilities, Current",
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r28",
      "r91",
      "r109",
      "r159",
      "r176",
      "r177",
      "r178",
      "r179",
      "r180",
      "r181",
      "r182",
      "r183",
      "r184",
      "r288",
      "r289",
      "r290",
      "r307",
      "r472",
      "r546",
      "r585",
      "r586"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCredit",
     "crdr": "credit",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding loans",
        "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r72",
      "r593"
     ]
    },
    "us-gaap_LineOfCreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityAxis",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lender Name [Axis]",
        "documentation": "Information by name of lender, which may be a single entity (for example, but not limited to, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r30",
      "r521",
      "r544",
      "r545"
     ]
    },
    "us-gaap_LineOfCreditFacilityExpirationDate1": {
     "xbrltype": "dateItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityExpirationDate1",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expiration date",
        "documentation": "Date the credit facility terminates, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r30"
     ]
    },
    "us-gaap_LineOfCreditFacilityLenderDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityLenderDomain",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of the lender, which may be a single entity (for example, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit, including a letter of credit facility."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r30",
      "r521",
      "r544"
     ]
    },
    "us-gaap_LineOfCreditFacilityLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityLineItems",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility [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": [
      "r175",
      "r521",
      "r544"
     ]
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of credit facility, maximum borrowing capacity",
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r30"
     ]
    },
    "us-gaap_LineOfCreditFacilityTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityTable",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility [Table]",
        "documentation": "Disclosure of information about short-term and long-term contractual arrangements with lender under which borrowing can occur up to maximum amount. Includes, but is not limited to, letter of credit, standby letter of credit, and revolving credit arrangement."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r30",
      "r175",
      "r521",
      "r544"
     ]
    },
    "us-gaap_LinesOfCreditCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LinesOfCreditCurrent",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets",
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current portion of line of credit",
        "documentation": "The carrying value as of the balance sheet date of the current portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r71"
     ]
    },
    "us-gaap_LitigationSettlementAmountAwardedToOtherParty": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LitigationSettlementAmountAwardedToOtherParty",
     "crdr": "credit",
     "presentation": [
      "http://cpiaero.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Settlement amount",
        "documentation": "Amount awarded to other party in judgment or settlement of litigation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermDebtPercentageBearingVariableInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebtPercentageBearingVariableInterestRate",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest rate",
        "documentation": "The interest rate applicable to the portion of the carrying amount of long-term borrowings outstanding as of the balance sheet date, including current maturities, which accrues interest at a rate subject to change from time to time."
       }
      }
     },
     "auth_ref": [
      "r29"
     ]
    },
    "us-gaap_LongTermDebtTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebtTextBlock",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebt"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "LINE OF CREDIT AND LONG-TERM DEBT",
        "documentation": "The entire disclosure for long-term debt."
       }
      }
     },
     "auth_ref": [
      "r62"
     ]
    },
    "us-gaap_LongTermLineOfCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermLineOfCredit",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets",
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of credit, net of current portion",
        "verboseLabel": "Line of credit",
        "documentation": "The carrying value as of the balance sheet date of the noncurrent portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r16",
      "r17"
     ]
    },
    "us-gaap_LossContingencyAccrualCarryingValueCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LossContingencyAccrualCarryingValueCurrent",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loss reserve",
        "documentation": "Amount of loss contingency liability expected to be resolved within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r170"
     ]
    },
    "srt_MajorCustomersAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MajorCustomersAxis",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersAndVendorsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]"
       }
      }
     },
     "auth_ref": [
      "r157",
      "r455",
      "r474",
      "r477",
      "r550",
      "r594",
      "r596",
      "r597",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623"
     ]
    },
    "cvu_MaximumLeverageRatio": {
     "xbrltype": "pureItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "MaximumLeverageRatio",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum leverage ratio",
        "documentation": "Maximum leverage ratio for trailing four fiscal quarter periods."
       }
      }
     },
     "auth_ref": []
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MaximumMember",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]"
       }
      }
     },
     "auth_ref": [
      "r171",
      "r172",
      "r173",
      "r174",
      "r219",
      "r258",
      "r303",
      "r331",
      "r357",
      "r359",
      "r366",
      "r375",
      "r376",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r435",
      "r436",
      "r445",
      "r452",
      "r460",
      "r466",
      "r467",
      "r468",
      "r469",
      "r475",
      "r548",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592"
     ]
    },
    "cvu_MinimumAdjustedEbitda": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "MinimumAdjustedEbitda",
     "crdr": "credit",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum adjusted EBITDA",
        "documentation": "Minimum adjusted EBITDA at the end of each fiscal quarter."
       }
      }
     },
     "auth_ref": []
    },
    "cvu_MinimumDebtServiceCoverageRatio": {
     "xbrltype": "pureItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "MinimumDebtServiceCoverageRatio",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum debt service coverage ratio",
        "documentation": "Minimum debt service coverage ratio for trailing four fiscal quarter periods."
       }
      }
     },
     "auth_ref": []
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MinimumMember",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]"
       }
      }
     },
     "auth_ref": [
      "r171",
      "r172",
      "r173",
      "r174",
      "r219",
      "r258",
      "r303",
      "r331",
      "r357",
      "r359",
      "r366",
      "r375",
      "r376",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r435",
      "r436",
      "r445",
      "r452",
      "r460",
      "r466",
      "r467",
      "r468",
      "r475",
      "r548",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592"
     ]
    },
    "srt_NameOfMajorCustomerDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "NameOfMajorCustomerDomain",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersAndVendorsDetailsNarrative"
     ],
     "auth_ref": [
      "r157",
      "r455",
      "r474",
      "r477",
      "r550",
      "r594",
      "r596",
      "r597",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "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": [
      "r104"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from financing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "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": [
      "r104"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from investing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash (used in) 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": [
      "r53",
      "r54",
      "r55"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      },
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows",
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations",
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net income",
        "label": "Net income",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r48",
      "r55",
      "r77",
      "r89",
      "r97",
      "r98",
      "r101",
      "r109",
      "r116",
      "r118",
      "r119",
      "r120",
      "r121",
      "r122",
      "r125",
      "r126",
      "r135",
      "r159",
      "r176",
      "r177",
      "r178",
      "r179",
      "r180",
      "r181",
      "r182",
      "r183",
      "r184",
      "r283",
      "r286",
      "r302",
      "r307",
      "r346",
      "r407",
      "r423",
      "r424",
      "r488",
      "r546"
     ]
    },
    "cvu_NetIncomeRequiredUnderAgreement": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "NetIncomeRequiredUnderAgreement",
     "crdr": "credit",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net income required under agreement",
        "documentation": "The element represents net income required under agreement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://cpiaero.com/role/InterimFinancialStatementsPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Recently Issued Accounting Standards \u2013 Not Adopted",
        "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_NoTradingSymbolFlag": {
     "xbrltype": "trueItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "NoTradingSymbolFlag",
     "presentation": [
      "http://cpiaero.com/role/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": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income from operations",
        "label": "Operating Income (Loss)",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r80",
      "r442",
      "r527",
      "r528",
      "r529",
      "r530",
      "r531"
     ]
    },
    "us-gaap_OperatingLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseCost",
     "crdr": "debit",
     "presentation": [
      "http://cpiaero.com/role/LeasesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating lease expense",
        "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability."
       }
      }
     },
     "auth_ref": [
      "r322",
      "r471"
     ]
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/FollowingTableSetsForthRight-of-useAssetsAndOperatingLeaseLiabilitiesAsOfDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSetsForthRight-of-useAssetsAndOperatingLeaseLiabilitiesAsOfDetails",
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302024WereAsFollowsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Present value of operating lease payments",
        "totalLabel": "Total lease liabilities",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r321"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/FollowingTableSetsForthRight-of-useAssetsAndOperatingLeaseLiabilitiesAsOfDetails": {
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0,
       "order": 1.0
      },
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets",
      "http://cpiaero.com/role/FollowingTableSetsForthRight-of-useAssetsAndOperatingLeaseLiabilitiesAsOfDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating lease liabilities, current",
        "verboseLabel": "Current operating lease liabilities",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r321"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/FollowingTableSetsForthRight-of-useAssetsAndOperatingLeaseLiabilitiesAsOfDetails": {
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0,
       "order": 2.0
      },
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets",
      "http://cpiaero.com/role/FollowingTableSetsForthRight-of-useAssetsAndOperatingLeaseLiabilitiesAsOfDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term operating lease liabilities",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r321"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets",
      "http://cpiaero.com/role/FollowingTableSetsForthRight-of-useAssetsAndOperatingLeaseLiabilitiesAsOfDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating lease right-of-use assets",
        "verboseLabel": "Right-of-use assets, net",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r320"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization of operating lease right-of-use assets",
        "documentation": "Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease."
       }
      }
     },
     "auth_ref": [
      "r520"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://cpiaero.com/role/LeasesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average discount rate for its operating leases",
        "documentation": "Weighted average discount rate for operating lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r324",
      "r471"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://cpiaero.com/role/LeasesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average remaining lease term operating leases",
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r323",
      "r471"
     ]
    },
    "us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
     "presentation": [
      "http://cpiaero.com/role/InterimFinancialStatements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "INTERIM FINANCIAL STATEMENTS",
        "documentation": "The entire disclosure for the general note to the financial statements for the reporting entity which may include, descriptions of the basis of presentation, business description, significant accounting policies, consolidations, reclassifications, new pronouncements not yet adopted and changes in accounting principles."
       }
      }
     },
     "auth_ref": [
      "r56",
      "r57",
      "r58",
      "r67"
     ]
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherAssetsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other assets",
        "documentation": "Amount of noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r93"
     ]
    },
    "us-gaap_OtherLongTermDebtCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherLongTermDebtCurrent",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current portion of long-term debt",
        "documentation": "Amount of long-term debt classified as other, payable within one year or the operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r27",
      "r383"
     ]
    },
    "us-gaap_OtherLongTermDebtNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherLongTermDebtNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term debt, net of current portion",
        "documentation": "Amount of long-term debt classified as other, payable after one year or the operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r383"
     ]
    },
    "dei_OtherReportingStandardItemNumber": {
     "xbrltype": "otherReportingStandardItemNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "OtherReportingStandardItemNumber",
     "presentation": [
      "http://cpiaero.com/role/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": [
      "r503"
     ]
    },
    "us-gaap_PaymentsOfDebtIssuanceCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsOfDebtIssuanceCosts",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows",
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Debt issuance costs paid",
        "label": "Payments of debt issuance costs",
        "documentation": "The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchase of property and equipment",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r51"
     ]
    },
    "cvu_PerformanceEquityPlan2009Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "PerformanceEquityPlan2009Member",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Performance Equity Plan 2009 [Member]",
        "documentation": "Performance Equity Plan 2009."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PerformanceSharesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PerformanceSharesMember",
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingPrsasForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Performance Shares [Member]",
        "documentation": "Share-based payment arrangement awarded for meeting performance target."
       }
      }
     },
     "auth_ref": []
    },
    "cvu_PeriodFiveMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "PeriodFiveMember",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Period Five [Member]",
        "documentation": "Period Five [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "cvu_PeriodFourMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "PeriodFourMember",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Period Four [Member]",
        "documentation": "Period Four [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "cvu_PeriodOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "PeriodOneMember",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Period One [Member]",
        "documentation": "Period One [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "cvu_PeriodSevenMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "PeriodSevenMember",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Period Seven [Member]",
        "documentation": "Period Seven [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "cvu_PeriodSixMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "PeriodSixMember",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Period Six [Member]",
        "documentation": "Period Six [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "cvu_PeriodThreeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "PeriodThreeMember",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Period Three [Member]",
        "documentation": "Period Three [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "cvu_PeriodTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "PeriodTwoMember",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Period Two [Member]",
        "documentation": "Period Two [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576"
     ]
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PreCommencementIssuerTenderOffer",
     "presentation": [
      "http://cpiaero.com/role/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": [
      "r497"
     ]
    },
    "dei_PreCommencementTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PreCommencementTenderOffer",
     "presentation": [
      "http://cpiaero.com/role/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": [
      "r499"
     ]
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid expenses and other current assets",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r518"
     ]
    },
    "cvu_PrimeGovernmentContractsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "PrimeGovernmentContractsMember",
     "presentation": [
      "http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prime government contracts [Member]",
        "documentation": "Prime government contracts."
       }
      }
     },
     "auth_ref": []
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]"
       }
      }
     },
     "auth_ref": [
      "r155",
      "r333",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r438",
      "r453",
      "r473",
      "r475",
      "r476",
      "r478",
      "r479",
      "r542",
      "r543",
      "r550",
      "r594",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623"
     ]
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails"
     ],
     "auth_ref": [
      "r155",
      "r333",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r438",
      "r453",
      "r473",
      "r475",
      "r476",
      "r478",
      "r479",
      "r542",
      "r543",
      "r550",
      "r594",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property and equipment, net",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r326",
      "r337",
      "r344",
      "r472"
     ]
    },
    "us-gaap_ProvisionForLoanLeaseAndOtherLosses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProvisionForLoanLeaseAndOtherLosses",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Provision for credit losses",
        "documentation": "Amount of expense related loan transactions, lease transactions, credit loss from transactions other than loan and lease transactions, and other loss based on assessment of uncollectability from the counterparty to reduce the account to their net realizable value."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r75",
      "r82"
     ]
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeAxis",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative",
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "auth_ref": [
      "r171",
      "r172",
      "r173",
      "r174",
      "r218",
      "r219",
      "r248",
      "r249",
      "r250",
      "r258",
      "r303",
      "r329",
      "r330",
      "r331",
      "r357",
      "r359",
      "r366",
      "r375",
      "r376",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r435",
      "r436",
      "r445",
      "r452",
      "r460",
      "r466",
      "r467",
      "r468",
      "r469",
      "r475",
      "r482",
      "r540",
      "r548",
      "r578",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeMember",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative",
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "auth_ref": [
      "r171",
      "r172",
      "r173",
      "r174",
      "r218",
      "r219",
      "r248",
      "r249",
      "r250",
      "r258",
      "r303",
      "r329",
      "r330",
      "r331",
      "r357",
      "r359",
      "r366",
      "r375",
      "r376",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r435",
      "r436",
      "r445",
      "r452",
      "r460",
      "r466",
      "r467",
      "r468",
      "r469",
      "r475",
      "r482",
      "r540",
      "r548",
      "r578",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592"
     ]
    },
    "cvu_RepaymentsOfInsuranceFinancingObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "RepaymentsOfInsuranceFinancingObligation",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Repayments of insurance financing obligation",
        "documentation": "Repayments of insurance financing obligation.",
        "label": "Repayments of Insurance Financing Obligation"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RepaymentsOfLinesOfCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RepaymentsOfLinesOfCredit",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Principal payments on line of credit",
        "label": "Repayments of Lines of Credit",
        "documentation": "Amount of cash outflow for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements."
       }
      }
     },
     "auth_ref": [
      "r52",
      "r521"
     ]
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RepaymentsOfLongTermDebt",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Principal payments on long-term debt",
        "label": "Repayments of Long-Term Debt",
        "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r52",
      "r369"
     ]
    },
    "us-gaap_RestrictedStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestrictedStockMember",
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRestrictedStockAwardsForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Stock [Member]",
        "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestrictedStockUnitsRSUMember",
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Stock Units (RSUs) [Member]",
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated deficit",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r38",
      "r63",
      "r342",
      "r364",
      "r365",
      "r370",
      "r387",
      "r472"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings [Member]",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r88",
      "r112",
      "r113",
      "r114",
      "r117",
      "r122",
      "r124",
      "r126",
      "r160",
      "r161",
      "r164",
      "r272",
      "r273",
      "r280",
      "r281",
      "r282",
      "r284",
      "r285",
      "r286",
      "r291",
      "r293",
      "r294",
      "r297",
      "r300",
      "r317",
      "r319",
      "r361",
      "r363",
      "r372",
      "r625"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations",
      "http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue",
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r79",
      "r143",
      "r146",
      "r147",
      "r152",
      "r154",
      "r155",
      "r156",
      "r157",
      "r213",
      "r214",
      "r333"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "presentation": [
      "http://cpiaero.com/role/Revenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "REVENUE",
        "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": [
      "r87",
      "r205",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r211",
      "r212",
      "r217"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueRemainingPerformanceObligation",
     "crdr": "credit",
     "presentation": [
      "http://cpiaero.com/role/RevenueDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Remaining performance obligations",
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue."
       }
      }
     },
     "auth_ref": [
      "r85"
     ]
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevolvingCreditFacilityMember",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revolving Credit Facility [Member]",
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount."
       }
      }
     },
     "auth_ref": []
    },
    "cvu_RevolvingLoanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "RevolvingLoanMember",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revolving Loan [Member]",
        "documentation": "Revolving Loan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RisksAndUncertaintiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RisksAndUncertaintiesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Risks and Uncertainties [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SalesRevenueNetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SalesRevenueNetMember",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersAndVendorsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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": [
      "r157",
      "r510"
     ]
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]",
        "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements."
       }
      }
     },
     "auth_ref": [
      "r19"
     ]
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based compensation expense for restricted stock in the consolidated statements of operations is summarized as follows:",
        "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement."
       }
      }
     },
     "auth_ref": [
      "r19"
     ]
    },
    "cvu_ScheduleOfEstimatesAtCompletionAdjustmentsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "ScheduleOfEstimatesAtCompletionAdjustmentsTableTextBlock",
     "presentation": [
      "http://cpiaero.com/role/RevenueTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net EAC adjustments had the following impact on our gross profit during the six months ended June 30, 2024 and 2023:",
        "documentation": "Tabular disclosure of estimates at completion adjustments to gross profit."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "presentation": [
      "http://cpiaero.com/role/InventoryTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "The components of inventory consisted of the following:",
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r42",
      "r43",
      "r44"
     ]
    },
    "us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "The following table summarizes activity related to outstanding PRSAs for the six months ended June 30, 2024:",
        "documentation": "Tabular disclosure of the changes in outstanding nonvested performance-based units."
       }
      }
     },
     "auth_ref": [
      "r65"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingPrsasForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRestrictedStockAwardsForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]",
        "documentation": "Disclosure of information about share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r221",
      "r223",
      "r226",
      "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"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "The following table summarizes activity related to outstanding RSUs for the six months ended June 30, 2024:",
        "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year."
       }
      }
     },
     "auth_ref": [
      "r64"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Security12bTitle",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r491"
     ]
    },
    "dei_Security12gTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Security12gTitle",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(g) Security",
        "documentation": "Title of a 12(g) registered security."
       }
      }
     },
     "auth_ref": [
      "r495"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r494"
     ]
    },
    "dei_SecurityReportingObligation": {
     "xbrltype": "securityReportingObligationItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SecurityReportingObligation",
     "presentation": [
      "http://cpiaero.com/role/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": [
      "r500"
     ]
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SellingGeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Selling, general and administrative expenses",
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc."
       }
      }
     },
     "auth_ref": [
      "r49"
     ]
    },
    "us-gaap_SellingGeneralAndAdministrativeExpensesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SellingGeneralAndAdministrativeExpensesMember",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Selling, General and Administrative Expenses [Member]",
        "documentation": "Primary financial statement caption encompassing selling, general and administrative expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based compensation",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r461"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingPrsasForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRestrictedStockAwardsForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [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": [
      "r221",
      "r223",
      "r226",
      "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"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase in number of shares reserved for issuance",
        "documentation": "Number of additional shares authorized for issuance under share-based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares reserved for issuance",
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r462"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r18"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingPrsasForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRestrictedStockAwardsForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusForSixMonthsEndedJune302024Details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Granted",
        "documentation": "Gross number of share options (or share units) granted during the period."
       }
      }
     },
     "auth_ref": [
      "r233"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingPrsasForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRestrictedStockAwardsForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusForSixMonthsEndedJune302024Details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "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": [
      "r243"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingPrsasForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRestrictedStockAwardsForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r226",
      "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"
     ]
    },
    "us-gaap_ShareBasedCompensationAwardTrancheOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationAwardTrancheOneMember",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Tranche One [Member]",
        "documentation": "First portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationAwardTrancheTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationAwardTrancheTwoMember",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Tranche Two [Member]",
        "documentation": "Second portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "The following table summarizes activity related to outstanding Restricted Stock Awards for the six months ended June 30, 2024:",
        "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for outstanding performance shares."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vesting percentage",
        "documentation": "Percentage of vesting of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r551"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares",
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingPrsasForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRestrictedStockAwardsForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusForSixMonthsEndedJune302024Details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Non vested January 1, 2024",
        "periodEndLabel": "Non vested June 30, 2024",
        "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://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingPrsasForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRestrictedStockAwardsForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusForSixMonthsEndedJune302024Details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Forfeited",
        "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://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingPrsasForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRestrictedStockAwardsForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusForSixMonthsEndedJune302024Details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forfeited",
        "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://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingPrsasForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRestrictedStockAwardsForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusForSixMonthsEndedJune302024Details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Non vested January 1, 2024",
        "periodEndLabel": "Non vested June 30, 2024",
        "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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average remaining amortization period",
        "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r66"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares",
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingPrsasForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRestrictedStockAwardsForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusForSixMonthsEndedJune302024Details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "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://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingPrsasForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRestrictedStockAwardsForSixMonthsEndedJune302024Details",
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusForSixMonthsEndedJune302024Details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vested",
        "documentation": "Weighted average grant-date fair value of options vested."
       }
      }
     },
     "auth_ref": []
    },
    "dei_SolicitingMaterial": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SolicitingMaterial",
     "presentation": [
      "http://cpiaero.com/role/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": [
      "r498"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r36",
      "r39",
      "r40",
      "r88",
      "r99",
      "r100",
      "r101",
      "r112",
      "r113",
      "r114",
      "r117",
      "r122",
      "r124",
      "r126",
      "r144",
      "r160",
      "r161",
      "r164",
      "r201",
      "r272",
      "r273",
      "r280",
      "r281",
      "r282",
      "r284",
      "r285",
      "r286",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r297",
      "r300",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r317",
      "r319",
      "r328",
      "r347",
      "r361",
      "r362",
      "r363",
      "r372",
      "r425"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementLineItems",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquity",
      "http://cpiaero.com/role/NetEacAdjustmentsHadFollowingImpactOnOurGrossProfitDuringSixMonthsEndedJune302024And2023Details"
     ],
     "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": [
      "r112",
      "r113",
      "r114",
      "r144",
      "r319",
      "r333",
      "r368",
      "r374",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r386",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r395",
      "r396",
      "r397",
      "r398",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r406",
      "r408",
      "r409",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r425",
      "r483"
     ]
    },
    "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",
     "auth_ref": []
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementTable",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquity",
      "http://cpiaero.com/role/NetEacAdjustmentsHadFollowingImpactOnOurGrossProfitDuringSixMonthsEndedJune302024And2023Details"
     ],
     "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": [
      "r112",
      "r113",
      "r114",
      "r144",
      "r158",
      "r319",
      "r333",
      "r368",
      "r374",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r386",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r395",
      "r396",
      "r397",
      "r398",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r406",
      "r408",
      "r409",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r425",
      "r483"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuance of common stock upon settlement of restricted stock, net (in shares)",
        "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r63"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardGross",
     "crdr": "credit",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuance of common stock upon settlement of restricted stock, net",
        "documentation": "Aggregate value of stock related to Restricted Stock Awards issued during the period."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r35",
      "r36",
      "r63"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets",
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Shareholders\u2019 Equity",
        "periodStartLabel": "Beginning balance, value",
        "periodEndLabel": "Ending balance, value",
        "label": "Equity, Attributable to Parent",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r36",
      "r39",
      "r40",
      "r60",
      "r388",
      "r405",
      "r426",
      "r427",
      "r472",
      "r489",
      "r522",
      "r533",
      "r579",
      "r625"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shareholders\u2019 Equity:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SupplementalCashFlowElementsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SupplementalCashFlowElementsAbstract",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental disclosures of cash flow information:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TaxesPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TaxesPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes payable",
        "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": [
      "r26",
      "r27"
     ]
    },
    "cvu_TermLoanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "TermLoanMember",
     "presentation": [
      "http://cpiaero.com/role/LineOfCreditAndLong-termDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Term loan [Member]",
        "documentation": "Term loan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TimingOfTransferOfGoodOrServiceAxis",
     "presentation": [
      "http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Timing of Transfer of Good or Service [Axis]",
        "documentation": "Information by timing of transfer of good or service to customer."
       }
      }
     },
     "auth_ref": [
      "r458",
      "r550"
     ]
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TimingOfTransferOfGoodOrServiceDomain",
     "presentation": [
      "http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Timing of transfer of good or service to customer. Includes, but is not limited to, at point in time or over time."
       }
      }
     },
     "auth_ref": [
      "r458",
      "r550"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "TradingSymbol",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TransferredAtPointInTimeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TransferredAtPointInTimeMember",
     "presentation": [
      "http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Transferred at Point in Time [Member]",
        "documentation": "Contract with customer in which good or service is transferred at point in time."
       }
      }
     },
     "auth_ref": [
      "r458"
     ]
    },
    "us-gaap_TransferredOverTimeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TransferredOverTimeMember",
     "presentation": [
      "http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Transferred over Time [Member]",
        "documentation": "Contract with customer in which good or service is transferred over time."
       }
      }
     },
     "auth_ref": [
      "r458"
     ]
    },
    "cvu_UnfavorableAdjustmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "UnfavorableAdjustmentMember",
     "presentation": [
      "http://cpiaero.com/role/NetEacAdjustmentsHadFollowingImpactOnOurGrossProfitDuringSixMonthsEndedJune302024And2023Details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unfavorable adjustments [Member]",
        "documentation": "Unfavorable adjustments."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ValuationAllowanceDeferredTaxAssetChangeInAmount",
     "crdr": "credit",
     "presentation": [
      "http://cpiaero.com/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Valuation allowance released",
        "label": "Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount",
        "documentation": "Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset."
       }
      }
     },
     "auth_ref": [
      "r268"
     ]
    },
    "cvu_VendorOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://cpiaero.com/20240630",
     "localname": "VendorOneMember",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersAndVendorsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vendor One [Member]",
        "documentation": "Vendor One [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_VestingAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "VestingAxis",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vesting [Axis]",
        "documentation": "Information by vesting schedule of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576"
     ]
    },
    "us-gaap_VestingDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "VestingDomain",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Vesting schedule of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576"
     ]
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r130",
      "r138"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfSharesOutstandingAbstract",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares used in computing income per common share:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r129",
      "r138"
     ]
    },
    "dei_WrittenCommunications": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "WrittenCommunications",
     "presentation": [
      "http://cpiaero.com/role/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": [
      "r508"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "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"
  },
  "r1": {
   "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"
  },
  "r2": {
   "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"
  },
  "r3": {
   "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"
  },
  "r4": {
   "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"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Subparagraph": "(c)",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r6": {
   "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"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483489/210-10-50-1"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15"
  },
  "r9": {
   "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"
  },
  "r10": {
   "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"
  },
  "r11": {
   "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"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-16"
  },
  "r13": {
   "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"
  },
  "r14": {
   "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"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-21"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481573/470-10-45-13"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481573/470-10-45-14"
  },
  "r18": {
   "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"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481089/718-20-55-12"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481089/718-20-55-13"
  },
  "r22": {
   "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"
  },
  "r23": {
   "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"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r32": {
   "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"
  },
  "r33": {
   "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"
  },
  "r34": {
   "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"
  },
  "r35": {
   "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"
  },
  "r36": {
   "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"
  },
  "r37": {
   "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"
  },
  "r38": {
   "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"
  },
  "r39": {
   "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"
  },
  "r40": {
   "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"
  },
  "r41": {
   "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"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r45": {
   "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"
  },
  "r46": {
   "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"
  },
  "r47": {
   "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"
  },
  "r48": {
   "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"
  },
  "r49": {
   "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"
  },
  "r50": {
   "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(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r51": {
   "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"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15"
  },
  "r53": {
   "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"
  },
  "r54": {
   "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"
  },
  "r55": {
   "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"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/235/tableOfContent"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "250",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/250/tableOfContent"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/275/tableOfContent"
  },
  "r59": {
   "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"
  },
  "r60": {
   "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"
  },
  "r61": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/440/tableOfContent"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/470/tableOfContent"
  },
  "r63": {
   "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"
  },
  "r64": {
   "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"
  },
  "r65": {
   "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"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/810/tableOfContent"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-21"
  },
  "r69": {
   "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"
  },
  "r70": {
   "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"
  },
  "r71": {
   "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(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r72": {
   "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(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r73": {
   "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"
  },
  "r74": {
   "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"
  },
  "r75": {
   "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(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r76": {
   "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"
  },
  "r77": {
   "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"
  },
  "r78": {
   "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"
  },
  "r79": {
   "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"
  },
  "r80": {
   "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"
  },
  "r81": {
   "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"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11B",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-11B"
  },
  "r83": {
   "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"
  },
  "r84": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "SubTopic": "210",
   "Topic": "946",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477796/946-210-45-20"
  },
  "r85": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13"
  },
  "r86": {
   "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"
  },
  "r87": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/606/tableOfContent"
  },
  "r88": {
   "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"
  },
  "r89": {
   "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"
  },
  "r90": {
   "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"
  },
  "r91": {
   "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"
  },
  "r92": {
   "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(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r93": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r94": {
   "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"
  },
  "r95": {
   "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"
  },
  "r96": {
   "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"
  },
  "r97": {
   "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"
  },
  "r98": {
   "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"
  },
  "r99": {
   "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"
  },
  "r100": {
   "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"
  },
  "r101": {
   "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"
  },
  "r102": {
   "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"
  },
  "r103": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-17"
  },
  "r104": {
   "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"
  },
  "r105": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25"
  },
  "r106": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2"
  },
  "r107": {
   "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"
  },
  "r108": {
   "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"
  },
  "r109": {
   "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"
  },
  "r110": {
   "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"
  },
  "r111": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-04(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-3"
  },
  "r112": {
   "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"
  },
  "r113": {
   "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"
  },
  "r114": {
   "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"
  },
  "r115": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-6"
  },
  "r116": {
   "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"
  },
  "r117": {
   "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"
  },
  "r118": {
   "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"
  },
  "r119": {
   "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"
  },
  "r120": {
   "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"
  },
  "r121": {
   "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"
  },
  "r122": {
   "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"
  },
  "r123": {
   "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"
  },
  "r124": {
   "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"
  },
  "r125": {
   "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"
  },
  "r126": {
   "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"
  },
  "r127": {
   "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"
  },
  "r128": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/260/tableOfContent"
  },
  "r129": {
   "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"
  },
  "r130": {
   "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"
  },
  "r131": {
   "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"
  },
  "r132": {
   "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"
  },
  "r133": {
   "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"
  },
  "r134": {
   "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"
  },
  "r135": {
   "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"
  },
  "r136": {
   "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"
  },
  "r137": {
   "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"
  },
  "r138": {
   "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"
  },
  "r139": {
   "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"
  },
  "r140": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-2"
  },
  "r141": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-3"
  },
  "r142": {
   "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"
  },
  "r143": {
   "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"
  },
  "r144": {
   "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"
  },
  "r145": {
   "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"
  },
  "r146": {
   "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"
  },
  "r147": {
   "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"
  },
  "r148": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r149": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r150": {
   "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"
  },
  "r151": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-24"
  },
  "r152": {
   "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"
  },
  "r153": {
   "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"
  },
  "r154": {
   "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"
  },
  "r155": {
   "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"
  },
  "r156": {
   "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"
  },
  "r157": {
   "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"
  },
  "r158": {
   "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"
  },
  "r159": {
   "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"
  },
  "r160": {
   "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"
  },
  "r161": {
   "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"
  },
  "r162": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/330/tableOfContent"
  },
  "r163": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482598/350-20-45-1"
  },
  "r164": {
   "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"
  },
  "r165": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-3"
  },
  "r166": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r167": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1"
  },
  "r168": {
   "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"
  },
  "r169": {
   "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"
  },
  "r170": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-1"
  },
  "r171": {
   "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"
  },
  "r172": {
   "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"
  },
  "r173": {
   "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"
  },
  "r174": {
   "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"
  },
  "r175": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r176": {
   "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"
  },
  "r177": {
   "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"
  },
  "r178": {
   "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"
  },
  "r179": {
   "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"
  },
  "r180": {
   "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"
  },
  "r181": {
   "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"
  },
  "r182": {
   "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"
  },
  "r183": {
   "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"
  },
  "r184": {
   "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"
  },
  "r185": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r186": {
   "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"
  },
  "r187": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r189": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r190": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r191": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D"
  },
  "r192": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D"
  },
  "r194": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r195": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r197": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r198": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r200": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r201": {
   "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"
  },
  "r202": {
   "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"
  },
  "r203": {
   "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"
  },
  "r204": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-3"
  },
  "r205": {
   "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"
  },
  "r206": {
   "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"
  },
  "r207": {
   "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"
  },
  "r208": {
   "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"
  },
  "r209": {
   "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"
  },
  "r210": {
   "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"
  },
  "r211": {
   "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"
  },
  "r212": {
   "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"
  },
  "r213": {
   "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"
  },
  "r214": {
   "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"
  },
  "r215": {
   "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"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-8"
  },
  "r217": {
   "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"
  },
  "r218": {
   "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"
  },
  "r219": {
   "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"
  },
  "r220": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/718/tableOfContent"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-1D"
  },
  "r222": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-2"
  },
  "r223": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-3"
  },
  "r224": {
   "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"
  },
  "r225": {
   "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"
  },
  "r226": {
   "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"
  },
  "r227": {
   "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"
  },
  "r228": {
   "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"
  },
  "r229": {
   "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"
  },
  "r230": {
   "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"
  },
  "r231": {
   "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"
  },
  "r232": {
   "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"
  },
  "r233": {
   "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"
  },
  "r234": {
   "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"
  },
  "r235": {
   "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"
  },
  "r236": {
   "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"
  },
  "r237": {
   "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"
  },
  "r238": {
   "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"
  },
  "r239": {
   "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"
  },
  "r240": {
   "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"
  },
  "r241": {
   "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"
  },
  "r242": {
   "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"
  },
  "r243": {
   "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"
  },
  "r244": {
   "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"
  },
  "r245": {
   "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"
  },
  "r246": {
   "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"
  },
  "r247": {
   "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"
  },
  "r248": {
   "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"
  },
  "r249": {
   "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"
  },
  "r250": {
   "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"
  },
  "r251": {
   "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"
  },
  "r252": {
   "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"
  },
  "r253": {
   "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"
  },
  "r254": {
   "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"
  },
  "r255": {
   "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"
  },
  "r256": {
   "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"
  },
  "r257": {
   "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"
  },
  "r258": {
   "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"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/740/tableOfContent"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-4"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-6"
  },
  "r262": {
   "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"
  },
  "r263": {
   "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"
  },
  "r264": {
   "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"
  },
  "r265": {
   "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"
  },
  "r266": {
   "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"
  },
  "r267": {
   "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"
  },
  "r268": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r269": {
   "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"
  },
  "r270": {
   "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"
  },
  "r271": {
   "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"
  },
  "r272": {
   "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"
  },
  "r273": {
   "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"
  },
  "r274": {
   "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"
  },
  "r275": {
   "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"
  },
  "r276": {
   "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"
  },
  "r277": {
   "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"
  },
  "r278": {
   "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"
  },
  "r279": {
   "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"
  },
  "r280": {
   "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"
  },
  "r281": {
   "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"
  },
  "r282": {
   "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"
  },
  "r283": {
   "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"
  },
  "r284": {
   "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"
  },
  "r285": {
   "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"
  },
  "r286": {
   "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"
  },
  "r287": {
   "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"
  },
  "r288": {
   "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"
  },
  "r289": {
   "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"
  },
  "r290": {
   "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"
  },
  "r291": {
   "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"
  },
  "r292": {
   "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"
  },
  "r293": {
   "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"
  },
  "r294": {
   "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"
  },
  "r295": {
   "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"
  },
  "r296": {
   "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"
  },
  "r297": {
   "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"
  },
  "r298": {
   "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"
  },
  "r299": {
   "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"
  },
  "r300": {
   "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"
  },
  "r301": {
   "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"
  },
  "r302": {
   "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"
  },
  "r303": {
   "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"
  },
  "r304": {
   "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"
  },
  "r305": {
   "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"
  },
  "r306": {
   "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"
  },
  "r307": {
   "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"
  },
  "r308": {
   "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"
  },
  "r309": {
   "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"
  },
  "r310": {
   "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"
  },
  "r311": {
   "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"
  },
  "r312": {
   "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"
  },
  "r313": {
   "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"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483013/835-20-50-1"
  },
  "r315": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2"
  },
  "r316": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482900/835-30-50-1"
  },
  "r317": {
   "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"
  },
  "r318": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/842-20/tableOfContent"
  },
  "r319": {
   "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"
  },
  "r320": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-1"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-1"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r325": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-6"
  },
  "r326": {
   "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"
  },
  "r327": {
   "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"
  },
  "r328": {
   "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"
  },
  "r329": {
   "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"
  },
  "r330": {
   "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"
  },
  "r331": {
   "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"
  },
  "r332": {
   "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"
  },
  "r333": {
   "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"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r335": {
   "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"
  },
  "r336": {
   "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"
  },
  "r337": {
   "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"
  },
  "r338": {
   "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"
  },
  "r339": {
   "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"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r341": {
   "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"
  },
  "r342": {
   "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"
  },
  "r343": {
   "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"
  },
  "r344": {
   "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"
  },
  "r345": {
   "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"
  },
  "r346": {
   "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"
  },
  "r347": {
   "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"
  },
  "r348": {
   "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"
  },
  "r349": {
   "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"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4E"
  },
  "r357": {
   "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"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r359": {
   "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"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-9"
  },
  "r361": {
   "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"
  },
  "r362": {
   "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"
  },
  "r363": {
   "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"
  },
  "r364": {
   "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"
  },
  "r365": {
   "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"
  },
  "r366": {
   "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"
  },
  "r367": {
   "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"
  },
  "r368": {
   "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"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r370": {
   "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"
  },
  "r371": {
   "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"
  },
  "r372": {
   "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"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477796/946-210-45-21"
  },
  "r374": {
   "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"
  },
  "r375": {
   "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"
  },
  "r376": {
   "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"
  },
  "r377": {
   "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"
  },
  "r378": {
   "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"
  },
  "r379": {
   "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"
  },
  "r380": {
   "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"
  },
  "r381": {
   "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"
  },
  "r382": {
   "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"
  },
  "r383": {
   "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)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r384": {
   "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"
  },
  "r385": {
   "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"
  },
  "r386": {
   "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"
  },
  "r387": {
   "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"
  },
  "r388": {
   "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"
  },
  "r389": {
   "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"
  },
  "r390": {
   "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"
  },
  "r391": {
   "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"
  },
  "r392": {
   "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"
  },
  "r393": {
   "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"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r395": {
   "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"
  },
  "r396": {
   "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"
  },
  "r397": {
   "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"
  },
  "r398": {
   "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"
  },
  "r399": {
   "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"
  },
  "r400": {
   "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"
  },
  "r401": {
   "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"
  },
  "r402": {
   "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"
  },
  "r403": {
   "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"
  },
  "r404": {
   "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"
  },
  "r405": {
   "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"
  },
  "r406": {
   "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"
  },
  "r407": {
   "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"
  },
  "r408": {
   "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"
  },
  "r409": {
   "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"
  },
  "r410": {
   "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"
  },
  "r411": {
   "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"
  },
  "r412": {
   "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"
  },
  "r413": {
   "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"
  },
  "r414": {
   "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"
  },
  "r415": {
   "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"
  },
  "r416": {
   "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"
  },
  "r417": {
   "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"
  },
  "r418": {
   "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"
  },
  "r419": {
   "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"
  },
  "r420": {
   "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"
  },
  "r421": {
   "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"
  },
  "r422": {
   "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"
  },
  "r423": {
   "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"
  },
  "r424": {
   "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"
  },
  "r425": {
   "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"
  },
  "r426": {
   "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"
  },
  "r427": {
   "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"
  },
  "r428": {
   "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"
  },
  "r429": {
   "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"
  },
  "r430": {
   "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"
  },
  "r431": {
   "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"
  },
  "r432": {
   "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"
  },
  "r433": {
   "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"
  },
  "r434": {
   "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"
  },
  "r435": {
   "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"
  },
  "r436": {
   "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"
  },
  "r437": {
   "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"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H"
  },
  "r439": {
   "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"
  },
  "r440": {
   "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"
  },
  "r441": {
   "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"
  },
  "r442": {
   "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"
  },
  "r443": {
   "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"
  },
  "r444": {
   "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"
  },
  "r445": {
   "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"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482548/350-20-55-24"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "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"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69B"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69C"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69E"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69F"
  },
  "r452": {
   "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"
  },
  "r453": {
   "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"
  },
  "r454": {
   "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"
  },
  "r455": {
   "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"
  },
  "r456": {
   "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"
  },
  "r457": {
   "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"
  },
  "r458": {
   "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"
  },
  "r459": {
   "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"
  },
  "r460": {
   "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"
  },
  "r461": {
   "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"
  },
  "r462": {
   "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"
  },
  "r463": {
   "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"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "100",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "102",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-102"
  },
  "r466": {
   "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"
  },
  "r467": {
   "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"
  },
  "r468": {
   "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"
  },
  "r469": {
   "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"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482949/835-30-55-8"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "53",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479589/842-20-55-53"
  },
  "r472": {
   "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"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479401/944-30-55-2"
  },
  "r474": {
   "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"
  },
  "r475": {
   "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"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r477": {
   "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"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9E"
  },
  "r479": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480078/944-80-55-18"
  },
  "r480": {
   "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"
  },
  "r481": {
   "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"
  },
  "r482": {
   "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"
  },
  "r483": {
   "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"
  },
  "r484": {
   "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"
  },
  "r485": {
   "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"
  },
  "r486": {
   "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"
  },
  "r487": {
   "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"
  },
  "r488": {
   "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"
  },
  "r489": {
   "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"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r492": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "g"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12, 13, 15d"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14a",
   "Subsection": "12"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "15",
   "Subsection": "d"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r504": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r505": {
   "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"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "425"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "7A",
   "Section": "B",
   "Subsection": "2"
  },
  "r510": {
   "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"
  },
  "r511": {
   "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"
  },
  "r512": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(1)",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r513": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r514": {
   "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"
  },
  "r515": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r516": {
   "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"
  },
  "r517": {
   "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"
  },
  "r518": {
   "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"
  },
  "r519": {
   "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"
  },
  "r520": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r521": {
   "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(f))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r522": {
   "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"
  },
  "r523": {
   "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"
  },
  "r524": {
   "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"
  },
  "r525": {
   "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"
  },
  "r526": {
   "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"
  },
  "r527": {
   "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"
  },
  "r528": {
   "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"
  },
  "r529": {
   "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"
  },
  "r530": {
   "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"
  },
  "r531": {
   "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"
  },
  "r532": {
   "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"
  },
  "r533": {
   "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"
  },
  "r534": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r535": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r536": {
   "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"
  },
  "r537": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r538": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r539": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r540": {
   "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"
  },
  "r541": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/450/tableOfContent"
  },
  "r542": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9"
  },
  "r543": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r544": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r545": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r546": {
   "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"
  },
  "r547": {
   "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"
  },
  "r548": {
   "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"
  },
  "r549": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r550": {
   "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"
  },
  "r551": {
   "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"
  },
  "r552": {
   "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"
  },
  "r553": {
   "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"
  },
  "r554": {
   "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"
  },
  "r555": {
   "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"
  },
  "r556": {
   "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"
  },
  "r557": {
   "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"
  },
  "r558": {
   "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"
  },
  "r559": {
   "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"
  },
  "r560": {
   "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"
  },
  "r561": {
   "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"
  },
  "r562": {
   "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"
  },
  "r563": {
   "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"
  },
  "r564": {
   "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"
  },
  "r565": {
   "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"
  },
  "r566": {
   "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"
  },
  "r567": {
   "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"
  },
  "r568": {
   "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"
  },
  "r569": {
   "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"
  },
  "r570": {
   "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"
  },
  "r571": {
   "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"
  },
  "r572": {
   "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"
  },
  "r573": {
   "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"
  },
  "r574": {
   "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"
  },
  "r575": {
   "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"
  },
  "r576": {
   "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"
  },
  "r577": {
   "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"
  },
  "r578": {
   "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"
  },
  "r579": {
   "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"
  },
  "r580": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-1A"
  },
  "r581": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2"
  },
  "r582": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-3"
  },
  "r583": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482900/835-30-50-1"
  },
  "r584": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-6"
  },
  "r585": {
   "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"
  },
  "r586": {
   "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"
  },
  "r587": {
   "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"
  },
  "r588": {
   "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"
  },
  "r589": {
   "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"
  },
  "r590": {
   "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"
  },
  "r591": {
   "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"
  },
  "r592": {
   "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"
  },
  "r593": {
   "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)(16)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r594": {
   "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"
  },
  "r595": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3"
  },
  "r596": {
   "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"
  },
  "r597": {
   "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"
  },
  "r598": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4C"
  },
  "r599": {
   "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"
  },
  "r600": {
   "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"
  },
  "r601": {
   "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"
  },
  "r602": {
   "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"
  },
  "r603": {
   "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"
  },
  "r604": {
   "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"
  },
  "r605": {
   "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"
  },
  "r606": {
   "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"
  },
  "r607": {
   "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"
  },
  "r608": {
   "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"
  },
  "r609": {
   "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"
  },
  "r610": {
   "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"
  },
  "r611": {
   "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"
  },
  "r612": {
   "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"
  },
  "r613": {
   "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"
  },
  "r614": {
   "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"
  },
  "r615": {
   "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"
  },
  "r616": {
   "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"
  },
  "r617": {
   "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"
  },
  "r618": {
   "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"
  },
  "r619": {
   "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"
  },
  "r620": {
   "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"
  },
  "r621": {
   "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"
  },
  "r622": {
   "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"
  },
  "r623": {
   "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"
  },
  "r624": {
   "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"
  },
  "r625": {
   "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"
  },
  "r626": {
   "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>65
<FILENAME>0001999371-24-010057-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001999371-24-010057-xbrl.zip
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
M5=)?RV2_:LG.)_D4)3E?U#M-:::+!8HM,)Q3@7XIJ-A6 6FM?.4./&G*$_2
M:SJ09/-*$&4%#BC[,+B65= >K(YJ6;6^SH]$"U:\7KK4-EOX?1PP.E@Y'ACM
MS[M 'U]KP@ELG$T9^-!+5YE[<DA;9M:8 EUQ?F.H<(K.#YE9QN#^M- 1)6&/
M.3R$FZ@Y/(2P_258$H&PJ_<(:N!S"E77)XGL**^N@[[9A+I3GR(FKK1<<<_Q
M\8(8MUSL)5)-6BY.HD8[EXNM<G&4@O"LR\5(![G%.'G)6,YR+ANA9>-*F^JY
M:)RX:"PG.9>,\)(A/^5&X^0E8S')N62$EHR._)(+QHD+QF*.<[D(+Q?@"9Q
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
M'4 $$[WE/U!:77]F7R^FG>::-A[+!EK+.;N2H0:'@MT'^L6&XW-IZ[$&7B=
MEUI7>NNOVQ_]>K'-:.9,3":D+KFUU#H-,*PNT#1;*>>.3#2:Y?&0,'3QWW-Q
M(M/4(^3SN[^3X3DA*-!NG+\_(8XQ7&IH9C@?5Z&\(F)W8"@;2%^:+0A\;S$;
M-=A&[?'[0V.D)"-FY4TQ6Z4#*HS;YEFU<=?N=._N:]W[NT:'))JMVKL0GD$6
M120QFM\T7B"7SQ!["6U Z NV$H)!&!,@HF59B9 A(DR#$$<X''V;K3&>4F"P
M5U=U,].#7R4!4;.J-"Z(J0J'I,@J.-]0%/451=%4X4T3^[Z."</[&BH^T6<U
M3?+1&\^R\?5R/E/X'<RS*[PH&$!$"_\FF.C:$T+X1DZBLJE8MM)]_@GR$4_-
M;TU_"++KP?YXBF=SU;/J"B]-NTA#Q/=N<[.&VHAZZ/ZY^_-=2$3_,]3F-/D0
M!'TNNL#P#,725/CIL>.6B"*Y9\6,L4=H.J'!$$4G_DYUV9!D$8UU&[3V3%7S
M#D:@XXFBS2!-JS. *;&FX6W:N0M-G>P6=/QVQ&M]**CR''_VUHO-^S-+V^+G
MP)**E>1V;MNV9#9C*T1^12%6)4D'AF'_N(9WT-[*\/.S.6^U2W?5V[_)*$-Z
M4QEZ$'/^J4)C/G\!T&53!%4B+I4GR<\?)@,B:_O1-?AK6^]JSZKW8,?<M_N?
M4^.&5XO)#);Q'>R2E/-/#6D(GC5-"CVXHM?@L,)MZ[?068"ZP<='^=G_5ODL
M59YYMIS,"%G?$:[1 WV/WT$F+5P6,-URUO":FUL-.G+*'WGB[SU*GVGJCGIL
MWEY6DID9SG=F5JA!+D>)+D6;FC3:Q#?VZ% <.-$AY.2)H& 2P L0IZ;\A$)$
M:.V!X6D:#T0E9#N<3PEX^1CY$O*ZY[\9GB'%6=6!X"])/W^^<)TO?>7S33\9
M25I9^G6_'TYGD:7?^LC.1O%4U1["M08EY7:DJ5NSO;6Y?//T4Y^RM8=DAK&R
M)K5.P_DGOEPLP,C#+^[(9'9HF6;[O_\M,W3I@W%F @5,T+@)%0\<.=+*%+F5
MA "G=4TV,S',C"6(++_?91[@;8CT?\_9!45KI=/]U=+I))G7@;9!ETT9&)@>
M*X,(=" 1DZEN3%$JT=3@W3AR)6CF3?\MLC!HW:TJFA>1K.+&R$.-=L%H5)_N
M\:T])VQI[WY15S858,6: P((XH@0%<$PMEG39(:V?Y>OJPM(*C#YQFS<UY0W
MV]T$FW!='HZ\*$]FW.S>QXV6'U9F%+R((T$=0E]))9Y',OSD8U]__VE-.%(
M^\.Z'YQMNVUU,:.9/I8&;]O]Y4_[VX]![86:Q*\H7;'=*RNUZS18Z\UV%L@P
M-?&!)/Y#O:,HFI@(.O$D*%. *@,(O',HR--/7(@/.U%.;&P+= ?+LO<L754U
MEGHITZ,9F\PLK2STK1  I^C'?7S.[T?+''9BZ#4):MB*QG\AEK\LBK>5\=6/
MA_B._/J""E)O7FLI3,5+PMPTH@1&IX$GJ(II$-00$[K?R.[OU##EP6ROH=WB
M'<E!HZE**.D.SOHS0AP!B$JTVQN:&X#7"I!OM5S)O2#>T&^)D6 0 UF!;IF@
M*/!;5#]GP)^/4QGY:M!%ZP/[ OC0A;O&HJPXS1.H%LWVVEP.GS.]R)-#7Z-:
M-$*"W\)@ %TZT8$(<&A ,P2N#C:(-_"!$%2$,86FT1AI:$'9*;LR1X*Y1CWQ
M+*R2B6C$-Y_9@WA+$BB]^8:Q!MF'T(3?]__"(:#K\7O@38@*^SFHEM# 1& B
M!<,D*A0A"3/CW4:JD%Y)1]6FN@YOMLH/D7(R!7-J>$O?#^[+CR_-TO#Y,IEJ
M(]9C&<R;GO-/O]'^5D_9(NS-$1;@K?^W-&)12+F_N&T/<K#_F/K8PHLA#=$\
MEDT3XA_&WJ*I:RKR#I49 :"G.".:R/) D* $75TP!0*7S*V)]O(93EAV!K]
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
MG^3SK&AF.!O53F?=,S]--\'#^SI LNKT&)G/UAYT"[6A6^RV_4L50]%0R<R
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
M&XH)9&PLBJW_7\9/TB14-AB)*7&<>R;"4IN'Y7>L/LV0'$>1'+-KIZ?,\CG
M\V<B+)%MYS//E\E2):.=R!+!\_:P@(FPM!7 :9HGRUGM,I@(HK?%#$R$):D
M/K,5LLCO&H!YF)?+8/-B!TT;;'$9F*GU96_.@Q]\=U8R1U^3/4IBQ>;4=\D;
M[1<[?KR*8W?8"/660?J0(VG^M/1A)$X'6!XV0IGD=DX7&9YDN$,G\%+$Z4#;
MPT8H;PS@-5\D2Z\<U=NL#QNA*C& TU21I'?NB;MZ@G/F3W5U/?G@1S@[@PQ[
M*#*7GW\,A\WDYQ_O!\8?^UXG'?.+DXY#'4[<^5*]:WQI7]<;=YW_^]\R0Y<^
M$(WO]\WN[_7#BC-_@'GDHY7I'DUSO7GYI3NXJ=_4NCK8^6AE-[O_Z\'HE!RR
MO&):9*0@(3$%M!C%R^JRB!Q9&SB?UL=^1GK[$7L'. RP9F6)K:,_.Z8&'V+_
MCFWM.KV1WQIW[T0,QBPBR,M2;]G:V0%AXW$JFS,XW(FF(GM5?9&-Y646&_#X
M;P#R>WKS)OA2>1"56>E:/!C3JV,8>YK99#H7F>E5*"C(:1.46T&6FFI-F,BF
MH#@34&R9T*L$UZ-'D/0$+-]L,QX1 &79_LLF))OSP$2>ASM@"K(*)&=IVIF
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
M$^W)A.9T. 0&>K"#0P,$RP4D +Y>D.RCV?Y.52OWC%6*N2ZGGD]8"@LZN1-
MC+OUF$NAX]1KZ8-!5%5U"I]Q!Z!O8)[!MUW!L<'9*'Q;L&L&!-W2Y1ZZX(W+
M,UC<NM"V6#@AEZ>*95*T1<T*?KIC@>P).</3"*7.F4H9*V():D+DAS@3OVR4
M[3P9CK,/\'&5(F:-3?A@"E4*IAX! JH'Z[S;U;?F<GT(N5;/EK-F@*$EM>A8
M8D%'OT#D0G2/)YIJGU4&WXN3*M!60M%YQA9L<]X17BQKID.DZ.!)!L^6?<#B
M,I+!8'G7&5I.P7X!TOOZ"G)K[?K-PK0ZEL&Y'KZGKT&+!=\*O5<1.'B#!DL3
ML2S:_HH],.L,5<. $"9DY"D '9L7:%7?G;77V6# E\WPXX9#.!;\/$V%PX$/
M%0A%'F.C"J<'7KMB[!8BC(BW//0:'G'C!:HE+##MP4 6@4[:K#'.EDK#V^0A
M>[ON#L#X!DL4="DFFF'Y)Y _N")^,1@7KQ:#1Y\O7[C"!;?-1MZ$!%!+%EEU
M-*9LXH\% CU$<4^]Y0TB98738383<R$^<-P[ABXT<J,MA..J)RC-8RB5R+$E
MW#B#=)A3E[=I.YB6].+>'TN1O0(2<IRAG8%0@R!8M-UP1Z_OSE#2B#!EM RL
MX9^DIVU;O E)&'@1 3:#SA.Q:$&:JINAS<KC(!(EXC^K>;?*2A\Q5-P#77AK
M*-4Q\O-[<K,GHD=119;JS0V>TNF6.7^J".>08!/-Q>(.A\XP):5KKPE?%ES<
MH8JC5(;_5;P.$<'XA>P[FZX/QEAUS"UF6V#!W;\(J-@?T+0; *<95G2%&S16
MB@7"PM*S4%&.Y.$(ZD?K.<]0$XQFIR#_[U>2I)^2SYGRZSE32*\KW:EK*OQ5
MM#S),-G3\DJ?A6B/ZLT?'DVQT[PU'RNCE.51[P!:T%%F9ZAM!D3=<F H0E<E
M08>Q U8R] >B!=W5JJ2A&#]/M28N)TWU;!%RH'##4LQ7U<XE;GV#)J=S#^?@
M'6&5855P^A35!^'B'.)-%P:-(E'BJ+<71'.,CMNQ(R6H2I97$O5EEH"$WJ8,
M [^!)DZA%X-"(IR+@MX0BO<TJ*$4>9F:6#NE3(9QXQI)3MX"N3.3:1^* =&W
M%R^1CRN;LT6:Y_:RX?9"[=P%(,_PR^"_.%;#+AE*X4(7"+F^GK1-L?O5AQ$/
M\KP0H&&P;'EG*&8%JC@C!&Q#X*/ZNO8 8& ]1=D8^&(#!E+R0$;)'/CHH:;+
MD!$X#!7M[-GB;? ET$$=0Q=QJN/HRO4LJ-VMN!B_]N\4JGP8RV'R;(_9<FOM
M#)7U'-M."RXB4'+1&&F*].ZL";D@0;5O);%A>(<Y* ,G%K S1"[F;<X0">-+
M'&3 6'^J2BBQ) *<QX+WN+QP2/[ \D=(*\9^C_Q]A3RS$Y\ HAZ/#%ZX,CC9
MBE,M]N+@QL0GR)H$_P\.8C43&SF'KD6#0E_*WJ&PG(#P,,@S]&@52I!AZR+T
M H!W)R.7'^<^+)PX:8[E#E9A -WL91!/\XZ[@^<6X"A*0,H,1P7((S=Q)J2J
M.DB%GM29,)DH,WN$0)4L><+I!4@) C\4,S1YUMH!XHYUS)53]HR"$</B]B(U
MMYJ:0=D&=/5ZNH''^4MQT>X7S;-]A)9UMPX*B #/)\,'ZPY/\(H$\@H]QZ(#
MTW<$9]M&@ !ICV 14[TC?CJIB26'(-TXQI/1*@V<\:F^\BP\':IF?XV5%;K$
M#GO/5A(IY'+/@6&M_2S]*)0:QK+R;KNKL?ZWR\K3Q=[\[C?/F-^UVOQJF&SA
MQ($\J\Q43BS+8MB5KJQ/0)T"Y/6A3M?(^_X) 5+#VR. [EZ;?KB]+CW__'I%
M+;?5KY1AQ/,I%UO.JC!X@"1@;[($+]OJ;I;6W<VPX]@C'-9Q'U@^ F^P1V^9
M53]6,-;@5YB3K%?*K!:?K!$6I1PE[)C8C3$QR8W)5@00!:J!XM(+8CI!CHJ
M),:CS@6J(>;Q&_U%F%_6?T&(W#5^-%KW#:]R%D_6K!>XK#-A;:3L+C6=VW7=
M'FN*]U-R5%]Z19!3R/K8DIQ\P',4\Y!XH+U14+G*P?; YE\78=$GNJZX#U -
M=7]O/K_Z?=6M-D:B7$Z]G4;)Q $TD=HS]N/02!8+<I[)/-T:\Z:/+MJVA#!G
M$V#GAZU+49 R5+$#1(P!##*DBQ. Z]*;<7LOZ]Y-Y('Y.C KCLYV;\:J_EXZ
M-#Y;_3SVY'HT[/'>^ ^I0LSX][RX&&-0!7_ %F"G>K>+2UC<I2L?^_K[3XO,
M\/HH/'L,;;S+;[MC.GG062O>29X#X3;W'P9"3-+L0_8AA3#9QSC95S+.?#X3
M%^YXVT:=N P%VYM; S]K\%TJ7GTWIGW')3#6!^58LG^V=I597+6]>\QB,;#,
MA8_6%\T%JWB-'$A=X<5>*41;VGN+-<.>H9N%PJVN25/1;.O02C_)(JB^R$:O
MYW1&6(ZZXQKT#<Z9]>9?*K0P%/Z:39%=+#K:U*UG!VAF;:RAML'&&*K?/EG.
MVDEM>]?V 'O;QK?J<Y=B]X^CBV2ER)+E4G #N:VX\);W/0&.20!P[ )P;$*
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
M-VYF&-R^MV<$0<T$0"M!'T<;]U[#YR9]'M'3*>##"-5QV^ACA(,*3F4G-*]
MHBKT9@$,1:3@O<X<(LL-?8TVB2@$:0NDYR*Z+;2[ =)4T%&>5'V,MH"(#)I+
MXIW9B$XH!$:\-'2.U'6_ZV,22%XT]#T\C,&*"'CB@S)NMP\1NK9QGT=T"0 =
MJP/-'9'M@2ZF%-2H (R'""(ZAG"H/[V+3F@YB@?GH6EKI$>E!JTM@;KQYU[7
MI]UDQK7Z:'"O41LP!IN_T^OHYFW"EMQ7K9JDC-7(51^HAMK54IJKG?UI-$R=
MD0\[K<" OTS9[&(;/>75RS19$Y=..^(%EA;+J0W#DINLU3("<*;3VM718/3Z
MHC2>*M*: ;B@XYJTM,M7KM#E2FKSQ5C#-<S* O0NI:!WQNZ9;T7N6%?,QW:U
M;G6ESLNXO7[DGM\=4UJZDI^OL!"LS8?>QYG1.]8@L_'RY^5":&E]AU\_>L]K
ME"DMG9O!(?QFA-1!:DGXC<YH82]T2+O: PUI#_Z5SMTUTOD;+>CJCJ\E#!4+
M^DR#Z,9K@I(T1$N\8DF/5+B9VV-#MW?KJS557ZOQM2$$5IS:>8CUK;H15.M"
ML6XB[ZKW.\?EBU^OKTTNN-S;!+7)VVEGT?7FW=M2;"U'CH.-1/K_?=J;2<Z!
M "3#I%*0=T]Q_2Q!H2R!18F4O%G%SU/@T$>AWMMQ(0^?AQDA_Q':5V[\ID$?
M(V8,6'$A:@W"$QDD5D*,)9S[6//7#S@>1"8.B2<"7;L7S$#J^>)A1)/&6>-5
MYT]9[@<[[>.?=H!%-)I]9TL*MJ(&=LG[J3+N7\*5IT9LQ/)/O=M2#FT$_\Q1
M'-<QK?$,DB .,:]+;S*,KV#"1!N9QH1%.L=J!X%:;_IOB?PX UJ<BD_"[Y>R
M.3Y3 [1HIFUY.;3(M>7E\*5<T'0FCMU/Y>C_YJ#JC@O6&GJGA9B+[VX*S'#J
MZG^5P?#;D>?7H8D_*:(#>08Z.I&!QXB@"PAY6\)>E!3VL[C=/-&3XQ@H%<1_
M9G3 WXV;I_+EKY<K5GEW_K- *RP7-/.>Y?;3AT0OQWWFXV IN-JEN(^\:NXS
M@Q1E]>;RB!T<R;*RN=QG$;84-5!\SF2X3)R'$#1B/0L93FDY"T):D071OJS?
MZ(W'[G L;XT%4=XD"X+*;$&4,ED02TBD/$DH!P^3NX-K=J#4?[8KF]^Y_8.$
MVL,.,(13 PT'0^RJT2%RLX<N4E/MQ.![1W6JD\I]YT=;7WGPO2PO"+Z7Y7CP
M/=]QBL0-B+FS:XRY W"B,7<"KF*/% ^L<P\3Y6C8E"[E7S\G[4_?#QOGY_7K
M\]K%=9.J7ASAXQTV+J[K%R>UB\/Z:B+MY.B[2#M.C)@M;7@AI0WA26$#90P!
M0\T8F?J(1$A'R"(Q73P93!N@]6U7@TX&("ML&Q,01#9'H#GTB )-9JCK:@^I
M"D@[:*LJL#>;A#'1:DASP+-ID:I!% _TOR4_.&JAWT*DN&VZ%E$Q0$RU(!"-
MWA>)8$*N ")U)&=".0$0:O5BJ2W3Z<,&6ICSAG_45R!HK^( )=3-=$J^]NO-
MW?/'Z4%(O8TN@ 11;=- 2XVG6E)T.Y8ZTM07['JU5;(Y),\I=&A00ASJV47Z
MDVJA!>!M2@<N&?]Z4,*1UZY.0MP]$\2KH?9,1_,A2H+A'K@M5P> (CAW1C#,
M#>V60!M2)VQ5)Q> 3J]:6 ,:*7C.&U$^T'IHVYZZ!V,BG9*!D"CT-<#.;$%$
M%Y)I/<#,Z!3XJ*870?>!;+H.R'\<@<^!,!#NG\47$L"GO?\-IA7&=T*P()H
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
M)Y43O,3ZMLE QZ&KS4E"<W35H6<7"W]XE(^3?_D1;9QB)'2->L:<A%#\ET]
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
MS!:1I!(5,0[SG9X@=@4VCI(P1_@<P@L;[M;8.1:'8#;ERLES!NT@_Y;(8'0
M*R.%6)F31#4@B/E3S,XNG?X@DDP&@7#[*'$.OM9#AUK$D/=L=RLFTMU%%7P/
M@<ZQ@JY@\@I"&N=<\&"Z]'3_#^U:8F_7WB7+>L?<N')@G\D2OWW */D-[+8*
M9!T0?OB[P0_7RT]"DN=9"*0 'E6E; O%//DP-Y+SU(T1-]J6=IZ-7.5'VQ:\
MRIA_6Y"5*/I"@.:%C(4L()"R.#M0 FF<4K/'Q/[&IG8=(7(($:6RL6_Q1-1+
M9MH+"CX)&6KH@X('D#'J6"K@ *?D,L3+V.7>)9?<RH,?#(SLN+HK$DR:G-!%
M^NXX?/D-3NV_ZI^U2!?:ER,3'623$=JW%[#)H\)KQEO]HJG5Z9A2_%V0D.1
M#3Z**@O/MDB)%:62$8KS]XO;(F\SYT/F1E*$=YM?X,Z6?WJ3,(T9WF.4T"9X
M(<%?2'Z_E,\'+S+>4-6!A8D82>G0[8SA]>@MWV6%87T#AWF^8PF[-W3)+<[$
MFD<&2.@[V<G@^4K41 -^#U0C2HC#*R @%Q:K?."%Q$?C$]G;>8?/))TX(.L&
M'K$0VA9(^#M;+SU-3_#1X#V"E&' K#Q>X.H%'8@AACHE?-;)96 [?&T.CZ"U
MDV,,41'XF"TRO9@B\!(_!2K0E\,M[64KXSF!8(G]!1>L>/J@D$((->JZ,#[2
M]FG&PKFX-T^4_[!&EW@'Z#099@-:8<H>>\&5TKT7Q0IJ$Z;-0%OWHI0\ M#1
M5QQ5@=OXM\[:9!LT.&#T!$_8)-8+S57P=*W;#+=;!.3O*,Z6Z"P <HB%$<Y3
M(7&2"2#0X9^26E("B<.P2"0(S5Q[4SJ\\'$"DR.8VBM'9!;BB$R*R"S%$9F_
M8$3F#M8U\V.PKEU@H5*SF?@MT2'47C,R),;2]0_#[N[LK/P#4<R9$,5\Q<9P
M^Y*UEZ$+-<8O'S>1MFTK=MP=,>D=#/[)9'>#?S*5\/QA' ]F&$2H3WSTCIQ
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
M8"CH;@AX]R\?& (& ?\- 8!/!(;@$8)P<.^! - _]S\D@ /!Q0?C$8 (R0$
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
M>D50\./WY_L/G+[ER]M%BNQR;ZDQ<P60?1^M91SH7N#$,SACJ-!RA!"[I\8
M?S:1D  7_$L/%?7"!;:;E'/%K#1? D8ZD].'/YYFKOAMOGSOX/K1'KD![7?9
MOMQ#\[^0RVI>42D7&*]7\)O'-50K9YV XQ5ERL\S!2YX'=.BZD2S9#R>F+]R
M6E%<E/CAD=/\4/#XG96).7T#%XJ#0Q2F,=OFN?WB#A@(*'RX\QOU3J[QE'M8
ME"9O",ZD--+A'T\*$HHI;8KGIB)N# T%#H,)QWA:?8RTC#KHW08ZWT]XR9'5
M=%E<1 ?K-RZN?;;5C\HJ+4I_>.U$WW^BY?31]"7+P,+N(L'U1F%2M*1."7-I
MBX,;U7&#8F4EC)WN=X3AJ!Z7$_?WF&HGS=7,<L(3F7.';1(9'3NG&'N:M-K?
M;#;V&C6AN4Y_4W(O%C+XF4V30CF3H9ICNM(10XY@77X*_YQ8,L'I5FV'1"+V
M)[G39"%O/5[9GK2N-.9^G\WNAC^QQ#D<O.]W)&Y!!:(I ^.H9VXR6GN>G<V/
M3KM@V6O8#;)<"-P46!V&#6YB&R23E/2L[(AG<2Q_E*T/W#\=I,&NMG^ES;?U
MEJ9<<^V7^N D8'FD-FUWK;548M.)RQ!N1P&*9_DETN([@'V;_5-'U4[6.P-&
M==Q*+KNQ%'O83=2XG-W=/E":I#X3>+8CD_KH6TJPZ:N.#3,SAY="MA=GT%V*
MJ.[F>_!%2K4P0U:R+.Y28D(,58Y>:&N%A?BBOK\EHV-?%9YJ-I74$^@9.[+"
MN2,"GDI6BO13R#2V%4&TK:0V8/C4D=X4"_8&5RHWU\Q-:Y[-M4:4]JL\GP)>
M2*:XU_WTZ]1B>Y>="Y'_KLI:HG>H(/)ONNB&@B8-RUWRS1]QKV*I[^F5$[$T
MP0"U34 -.'S__F8X*WD[T6:N\KL^N$9S? Y=2&%C>;M^^BR_@;[M<,7$S=7/
M-:D@0_FWW7!:N<U&L?T2T0-V<KT!;K2<Z_FQ$$&<C!)#:!&NO%)TZTG1@V3!
M)E[GYZ>F:"CEAZN3AQVB1*MY%5(U_30]5P$[YC4.5;ZG).]K3Z;3UM6ZNTH6
M?KG2VW1(VS+(U^TRNZ_#(-5TUY2XO7[K%Z1.":O\'IZI8VWV:U_<NMG_[C0<
MBQ+>5HG%#8W =J4\TSZI44J CI2O"/O(4'3%@TAR33_TI!G[J,0,WF3B>ZF(
M#X):M;=A]U^J<EH?VTN.8TM8;#3_?&U-R'0;T2;%J! P5/VJ?D,RKP<FP4>2
M3^^:4?KU'-QP9[:$K+*Y!3FT?4A7E_.,/D%T2_ /F**NGYK +68KK3F6,YOZ
M1<UE%#EU046 "9)\8+-X[87O&/''6#'?5,$]?JQ?U\G\M[1S4HG^ZQ[,RQT"
M;N9%4Y7G&>]+4E,5,#%):JF_5(XI4F0E88EF[=F7UPW/3I-OUMQ/SHT5+*(E
M;37MVM[K3HT'/'1=]C/42]:I$G^ZVQ7'+W1B$)=8O5$2<3X-<<WQ,<MWVGC)
M:LV8X3I*+#/:8>SEA)WL,*_@3S(U:V9Q5ZY'WP%D*FJWD$QY\W+\JOBGNLC/
M@:]A<8$G=P!D^Z3[V2TMF8VC7V-V<!:8F8QINA-74.*)L')70H? &T.CU3)*
MRDIONA)O$D0)P0NN_5_P@-F?_;>]D[<KL.30-1DY-?D*320254Q41-?[%A]L
M*(PE+_/8K#^1F8GDZ?K2SO,^MC)/Q983$'%FD #[R(-W0-/R),\,DJDI'XU0
ML_#*%T:^N*[]>6O<>SEV!W0V*.673DFOQ)TQ599C;#44-(O25*\I '7)OW>
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
M@,IG3:X+"FIQ_N$0SL>?C9'Y>=#MF*/Q/Y'YWWMK\DO-_LO9;V.QN'79H^X
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
M<G4=H$^C,$SR.[S*_A(F6,J<2;@,.$%T@*J!HF4AO;K]TF$>IKXEB:<D0?T
M*J<R4-)WG 7+ZT94'061+5H-.?7("G:[6*]=4E743.W:"5<?EY4HM46@BOK<
MX@?&%8C5]RA9?;8(5%&?>W^V2Z.M(E74:4CXC'%/[2ZB*Y&'+O9AA;_8&$Z[
MQ*JH6W=B#4^/3\ZSJFRF5A'Y#?:_W,.FE#A9[/GT*J*?$.YU&?:SV#=3JXA\
M&+8V\$G.^K/)U<4^>61%V->2*XP=O,;"GL]D5!?_+0MX$?SU] JCIP^%G;^>
M7EWTZJ!B ?CUY.I@51]7%J+-9%0 [X@\,/=!O97+3>?%617 G!QXR,WB!1E5
MM.<$9FXF+\BH-/[\;%Z8564=\C-Z44XE-<A\X+GI1A;E55&+Z,!2;B3GDRN
MU?)MKMYG=TCTK^5WJ:3SL-4QD3(2'TS=."U1YH!R>V@;Y<5'+2&#3*E,^B#*
M\YA/).;/;](#3(@1$82K%Y.EZF:$*JK;B"0'D]37M (P0)OI\=D\JWO('ZZQ
M'9[;?"N5U?^<,\34B2X(2;:RW(CGB70VV27V\HDEDE"?(?GSE^NU>H^][2OX
M337W+54UK1/4/U&Y2!:Q4(,U!9XGY$G>N,S^LKE4:)=ZP40LDVI>D^+X"&,I
MF9OY5:-M=7N'">4]+ &LC/_/7ZAJ[::?\)!=CL 7E*\&E5T"YK9Y)+585SW1
M:JBU@XT)6[NA*=%OSS)575?B8\CJ$X,Q+/K4)N%_2HOG9*3@)-KN%MNI8/3>
M?$.1)8SZ5U "/T5GJ8N0%^?]F7#3[[U&Y&M @=[PW+<Q!S],R27(=XM5W*BB
MT4 <$[:"#MXPI5QF!92Y:D6O@>'Q?U!+ P04    "  .@@U9$N@#EE<3  "L
MUP  %    &-V=2TR,#(T,#8S,%]C86PN>&UL[5UIC]LXFOZ^P/X'3@TPZ '6
MJ2M])-W9@6*[$O>Z;*_MZDQ_&K DNJR.+-:04AW]Z_<E=5BR)(JR+8L!-NA.
M56P>SWOPO412O_SC9>.A)\*X2_T/9Y=O+LX0\6WJN/[#A[.[1<]:]$>C,\0#
M[#O8HS[Y<.;3LW_\]W_^!X(_O_REUT,W+O&<]VA [=[(7]&?T01OR'OTB?B$
MX8"RG]%OV O%)_3&]0A#?;IY]$A X(MHXO?H^S=7UQCU>AKC_D9\A[*[^2@=
M=QT$C_S]^?GS\_,;GS[A9\J^\C<VW>@-N AP$/)TM(N7B_A/U/T7S_6_OA=_
MW6-.$/#+Y^]?N/OA3,P;3_M\_8:RA_.KBXO+\W_>CA?VFFQPS_4%WVQREO02
MHY3UNWSW[MVY_#9I6FCY<L^\9([K\P1..C)\ZRK:9Y!P]SV7\,;4QH$4>^TT
MJ+*%^%<O:=83'_4NKWK7EV]>N'.6,%]RD%&/S,D*B9\@O716^]'%A%$AKW/Q
MW7F?@CX"4-EKS<CJPYG]%,+85V\O?KB^$"/_-=<F>'T$M>2NT*HS=+[OK+Y#
M?$X<^(53SW5P0)R/V!-<6ZP)"7@M)-T!3H1WAAGQ@S4)7!M[!X,O':T]2L2B
M)!N8D4]7TT=A2$!3]Q*!>J334+!8 _?6U'/ W@W_';K!ZZ&45(]X&HKZF*]O
M//I\L$@* QT%_\@/"',W-ZX/&NQB;SMC#=[ZCD?!-R=/Q ])#9B=5L>2;,"P
M'5B<PZJV?&?LXGO7<P.7:,BRMNN1I =T0^10MTH*[8XR^R*@]M>>\&>.B%1
M>Z7)J,%2T^LHR"8D&$%PMB$SPJ0!J,%4V?XH:,:N3V#],N*X@5 &ZC_T8/%L
M!N0^J &FT_4H&&_Q'Y3U0QX $YA0V2AZK-/TNF['X1\!9:E#DF]TI-4E5&*)
M7VHG+VEY)!NTV;B!M*K 6V%6(-V M$/'!-7V;-E_S,"):0#5'^"8_F2)[[U:
M:*5M6_<M6M#T!SBNG]$"5]&Z39^CA4NK;^L67PNJ_@!'M+!ZR$J:MFQ)!B3
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
M-4NL^SJ'YKL8<K6 [_>I!2P^6_/AY^EX,)PO_H8?*?\9#?_W;K3\/5<:Z*X
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
M49IG^"_?9/DW__:O__-_(/I_?_Y?Q\?H/,%I_#,ZRY?'LVR5_X(NHS7^&7W
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
M3#J),GY@A&.M<XDLXLN]1 >N=C#I?P]>UP90_?IE8DC(P>DEG/N'T#V#6Y\
MN#=P[@>$(*HEH4RBK_%#GC[0<;!KB.6 UJCC]Z#6 7[WP-:@ (95+BCE ]Q*
M!TE4.Z1/(_.ON\@CM9N22L#7H*,&5@\YW:_!*UX+2;J\Q=P94RH%9[ YP[?E
M+*-SYBW;.3 ,-BI!GYV%'FB[AY"E@K/#"JW/$B:(=I(']HAG-\ T1RQ*"8\>
M[RIH+0_W]N?@M:S'I#B-9??F]GF 8:A;W<&#4L)OW2H/#A2? =6M;>._JMM]
M;NN;ZI9*V%IN1\9S_<KP>C6\$X!4QQ(J72TS01_U?$XMM%1S6\1O+<O@NI6\
M^PZHCB50FBIF<EYJ.'FP->2VB.<:EL#U:KCY#JF&^Z!T-<QVBCW4\$WR9*G@
MEH3?^I6@=:NW^0RH=ON8-)5+Q;S4+7[ ^B6T0L9S_<KP>C6\$X!4QQ(J72TS
MP; >[Q^3S.P(W?WNS1%:!:MQA&Y_#%[O.D22([20.6RS;G;CC'MC2BE?3=L
ML6[<"I'@U6S&I=\5O0"U:7::\RO)A+O67"?%EY/G$YPM[]<1^6(ZK[&J^75M
M<3.BZ^EBU@G.KX% 93^8EAIB>JA1@W+HPWUTKMF8M\676!WJQB+KU<G%!+?C
MS*(2!$,H$SI%M\7$VM0!W'-9@A<8-0+W5Z; !@9Q,*2R8W3HH"!%0#C=%F6^
MQD0RS.SC:=/R2C,W$SI4,ZO H9L33CGTG]!""NZ%771%?\])C4[U")=.R-\]
M5!W W674OD1PLAAA:;EQP#/*.@_3*:5"QEMX=QV\)JQ[7R!X%9M0:6OXX.>5
M=4ZF$TN%C.]ZUIY:2@*@ZMEV<MG4\\'/+AM$QM-+I93WNM:?8"I$8-6W]11S
M5^.'/\>L\S*>9*J$?->X_C13E@!5W]83S::Z]WJF^?+X><MEOLU*NK1>XN2!
M184U+A7TXEZCZEE =P+L:62#L\<1H!1VKQ)'._E#/_<C7H^9% 4VOO2C$O/W
MR(\>Y.Y]'UDF. LLP!3[#UP4"5EX_<A5].S<B?1D0_0@2KBJ[J,C&)PU+NBT
M'4<E?-A>XS/.XMRX9I0D?/45&FAU-]'['+RN]9CDV#),ZG"A.0J\_/XN?_@A
MQHGH$N@/NYZ _D)[L@=,)K<%[Z-Z=BB^^ZAQ+2Q6W]+'X+6M0R0/! ]\VZ>2
M\EW19_F2.\>SS6^%!=W/OJI9!:JNY?8W$)6L "1=1*A$^!&#YPJ>T(QCEOEY
M&MTIX/>^^ZIB):RZCCL?052R"I$T+M<RB F%JN8S7"Q)PB,MF^SHB'FO= 5(
MJ>Y;,K H( /3,Z$E&ZACO\9W522'/&L"VQBZ,8V\[Z[?"+L_%BB%09#&!:%V
MM&@KH48K$(\F6;:-TFN\R8F)/ETQWZQ1@>R3I2T#BB,*8%IJ"%DDA ,QXK^V
M$2DQ29^MI) D??-" [5/C9X8*':HL6D)THB'Y0A_93/A[A$VDLBBWI<;&K#2
MTJ,G!XHG&G#Z)4DC'Y8I-_<X35F<R"BS=R@J8=]LT0/N\T66!,48+3PM9[@&
MJE3@T&;ZP&;G=)KD:&Q+/B1Y)-@F_C3"8"G41^C((JZ&F%X@)E67I4HZ;EHX
M)$GZ9H\&:I\W/3%0C%%CTW*EOJ'&Y,.39)K%3A1IY,(0I =338]*"" YNLAL
MU*#2(8EQGA3+**TOQ2^W?1=:BZQO@FCA]DDB"8(BB@Z=EBQ"H>8,5PE*F+_B
MB+C1I249ABP25#55&C& 1.ECL]&$R0<AR>F6D YJ_8BC%_5V*&L!VYS/:N1
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
MQPR[1R"U,"0.&1$J:,3DFV.,X#12^1'4UCR;&>6F&MKO0V>,S?&CKP>&<@/
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
M!--X/1DJKRUI>SWF:?(C@3I1%V<[B*O,]P%6,M/,Z.5H0-FOC2E?W'R%"TR
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
MS0@/'#@N3T,]G<"PR0&D%)VBH\)&RCH(^&]<+;Q?OL:HBR3#LQ*O=0][VM4
MT$TRPH%RC0YTVO6!#J >4T5<]\7\4T[-+%Y0B_P#\U:ZXLY*BKG#,'5?D[4Q
M1M6SMB&ZP7DW$K#*BZWEP1:\HZO8?XW749*)!^CJK;3Y;9J(9J)I@HZZ 1XR
M<#-'\8J!63$X"<>@E?W?*R7V7F"MA?)&S<C) _4B7I\'\/M"[@,FMWF!+S1=
MRDCL6G^_^6KWADHK 30A&)VF=%68K!)VZ:% E8?6/A\4.)R[J_[)0+,*" =6
MS3.")GDP/8T#2.VK%6(/ B2IFJW! 6:W=$+32H)OXU6C *7O&P)62S!(7LQ&
M0YKQNO:W&U,:BD3 \%!KH#,QI11 =X%6V+I7SD@CB,K[J$2/48$2_L0]_4N2
M[9SU(7&[\>J^CAX_TO4/2:)4MP6BD0WR[(4*KO*]B[8@&-Z9T$GTBA[9$:Z0
M@<.77W/R99;1!?$2%U;"](2#,$8)6$F9CB0\SJC@]4G#9%B?LR'Y'04"B#?G
M=(%:T!7-ASR/K;SI"0?AC1*PDC<=27B\4<&33L@K&73'A#QO%TB(M8^T[[Y[
M7O*7>1FEIDFO$IOV9:PCE.$R>-O<^S43PXG=@?)ZU9><=&>$!\D(3+]T2.L&
M/I9TA*;B@E,LHHM%FX0V<Y;^$1*'Z&!.+_=35A>6P\Z]Y^+U;9'#%%'G19+]
M9@&F31[&K@.TQHO]'>B^N$E6Y8%C=7%5QFA*W%799P,:9E"[7;AI@J'[(+A]
M%O_^=V]_?//+@DT(Q458P\79X!RU73]L-;_BY%EZ;HW?,'*;UKTX?4@76@<7
MRY"KK,Z)@VDO^[;(%-JD/4BT\VB/% 6+?Z4<35A.8.9LUL+2E95MFK:/A,/?
M21U3$/:+J$-2A=/ ]F6*:<JE:TV6Q@1IRK5[+==<3K?]<IION!],<[WP<KN^
MQ:3JSXS-[!"Y>6][ARLRJ4'N/RNOK73#ES,W941*TW;?84V5/ QI@Q7BZ#^B
M;!N19_16W$#Z>EKDKYC==<'QY &3Z Y_H F49W2.?AXEY'.4;K4S4(\ 7F6[
M=2[8@S1E:^Y?=>MVM?ZU-?@Q4Y6J;'@9%+-,[!MQ[^I]3XI,.;V*::^]J/8R
M#]9G\_HGQE;;^DV.2P((";Y?BU\TJOI$\7K;Y?CQU1\$:"ZB8<P'W>1?,-WX
M[&])J\[J-<V+386USQFP*A\_S? GT0PS\53 (>>Y!AO[;4V(?B5-+=1:U3GW
MU]<@@ZQ2';.&-1OV9N]7VH2;Q7GU^WE.5CCQOB=LR_TU->&!17J0C29SUE_;
MR#O,;,G;MY;^>AMS\.WD$8"^BB8?=KMY,)JO9FQ_<1&,ZB1> T/#'5SZO:,@
M#C>FF9^!1V.JZ22C'3KQM9,*^JG:UTP]=^OWP4;8N_[=9CC9EO<Y,=Q&/T ^
MKV+GWE9,>]F;UV4":XYQ ,N47F?LZ=("DP?:UE@4]:0HMB#"3>ZK$!ZB)&5^
MIG2>Q'N@ Y>YG-UK;'BZ0CM$^^OG]=4U0XV!FM88U>*\.=XQA=??%B=QS-\Y
MCE)? Z IQU?5(NU%M]=&J<_NZVF75AOE"^%+P@-X)QG*>"+L"D3Q50Z?_!]V
MAB""&]+UPMM]UX,RBU?1* V%LY=6J$C_]3<[O5&JHZLJ/":5@M&&7K 2;CU
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
M)57NSVS"#Y]&Z\^JK4IV#[KRX1Q3B,IDP/#;8*0SOQ5IO Y^ZX%;^5WO8XO
M(OPI5W;U$QK!/T?I5CSTQ;;;F)-K?<%P$3WQK873>_8LRBPSGL(,3\8GP<<:
MV2;XT#2@';N,Q"^]W%8G@Z(Z'=J5<S*'?SAQNEKA99D\8!&HC!K&&BY[)#+)
MMK3156T]SW0NGD,2\/K*VF##.L^F.6N#Z94'0Y;65'4"=?2Y,GJ"$8Q$;1I[
MJ2UC05M%&RW/<4PM3%F<H"W%\-P1'E1H U,.3^M116'G^Z!D@3>$,;;T6T@C
M#*Z%7"1E<L<MN\%EF?(@D6)0X@\>TA$KGY?WF%Q%Q!"/?U :?H\31IC7/6@8
MD  8)H]!+7&VT72(D7Z@4WG^"""=[IQA\=]9=I$7Q35F 9$[W9%5^&]QOO16
M-30O'H6.UX#B@-X%J;3I?5_'JF>>$TF5 OHVKM+XCKV,F-)D$!'I?!^@ONHW
MPG]-ROO3;5'2KH[P^>XDBYM]_05^*D]H;_:E7X'#M$'5Z"CHJBJF>21$K&B%
M"P>/*56E7ATJHRB+=W]KG8 @5A.[+X\4#%I6:$+0X23*OGS*$KI:^HC7MYCT
M*[S_'525:L#U*XV)(2&'?A.2QNOK!RIJ'J<LCS)U07>_@BIF)32I9; -2Q;8
M+F017V&2Y/$\P^HR[GT&5<AJ;))_'I="5"Q\,2\><U,Q-Y\!%G,?FZ:8J1B
M8F;7@XP%O1. 6-02.EUA,\&0Q;WG1PH@584;5N5DIUI?$+P1KL$%<Y>SO6$0
M8B;S@K<#(%65":'C&P(H*E'))ZHQFYKB:'F/5CQ> ?K'EBXGP\PTZSFW=G26
M!$#5BPZ=[)4FY-@8';*8M:.S) "RF&TC=%/,5#!H,>M'9X4(S**VCM"[PF:B
M(7<MA$N]IKP5,K *7 ]0$1=+;!!4]SD"3HOJRF?W?LU$WTG *G8=/"W-F60(
MEJON A;\OH]V0\Y!!51EN..59J/1[3:-2&_?+>7I28XD02:@8Y^\@U0_!H!N
M3]]QWQ[:=R4IJXT5!=B;>Z(-7^^%J:+]OET)JN*<L(YXPQ)TA8J] _W0U/\.
MJLHTX#3[(TPN_&[4>?)@W(S:?8=8U'UPNJ)FCC(!B_H:U]>LYZM91H<ZYE?6
M1 F?WZ;5R7&_"ESU0%7-0-!RG,5:71RZ5@G0/JH.JIXW283HH3ZPSC1C &^V
MM_6YGV8%8Y(%56<.0/OUM%-!14LGR*#!GI';X3DU5XI9&E2U.$%5/ZIWMZN>
MH'5SFJ_I"FR91*FE6K2"H&K$AE)>]]?R8:OA9GF/XVV*YZMI42;KJ,3%A/)I
MO4DQ=['C&\Z\US4O3\>F ZH27VB$VT(6UTFSW?MEDWBUMR\&N#)'=X3Y#VU(
MODJ"G+)82F"1?V  KSB^/AF&Z((BP C@D@-VNWI/P5;O>?20$T;BG77J[E<K
M"*KB;"BE*#NU?+M>0M3#IVSE6A,&45!U8<?9KXV61NCZH O#54[6;&4Q_<>6
M12"D2-F%(^U:V"0.JE[<L"I6RK46$FJ(Z2&F&&3K?#&[>O?F[8_J^NA^!57\
M2FA2%)J<!?YB'G8S_EX*VY^HBOOMCR&*^QH_Y.D#V\#7.C0J1$ 5O!Z?O,50
M2:(+$/Z--\F3:0NN^0RJN-78-!MP5 Q ,>,'K.&V) "QJ"5TNL)F@B&+^S/.
MXESO%]3[#*JHU=BD6\)<*K37KN)*B^(.DGYW>:@^J(H:"5[E$JFZV!-O"1L?
MF-<=P9N<\*-H<2[&+_TT>:%B=V<KW,9T-Y"E(91<1P#0@^-J7.H G$?HU/Z>
MZL$+65^ZX(H59D#35B1& V%E*4#%:P!GB#L9FK\M*)82AUG4+F6,?CO#JVB;
MENB"I>-[>*Y1WY3Y\LM]GL:8%&)5K2IQ6>IO?P!3\ 9PTIXH_WR$)F5)DMMM
MR3=ZRAQ=13#8/LEBMPJQZ<!L%V:HIL;"+K<*\4"5I#ED4'P&5/0J5-(I.=__
M%T*A@]>*&T/LVKNJC!5B@,K:A$X?3%((HV^9^'>!BG]6/=LQ%2$M547?$P%4
M[#ID_2*OY5 E>-1ZK(!U+I=YUGCT!JN'FCCG].^J4$LG>)6372 :7$R?2A+E
M)$ZRB#SS5]*I'?P8/T]3SD5AM;I.#Y8=*'X<WDJ9:ZU&+<(O[#)&NYS1+<^Z
M[@1XYD>HFQF:.3RJ<UA2]G8QZJAUK1+3T,NN"(LH _ JJKS:H3EKAUZID^A4
M,9B:G"QY@,SB&B]Q\L#FPFX5*>N!KD<#7,=JK%- NR3 5&+CP+K;4QQ<H>8T
M0%>N(W3'BFY20ZWD(-:Z-K206X5KU4'7M1VU8S6?=H(AU4D=B:N/8.IXECU0
M^N5$LPMF5 !=CRJ<S@VT40533U<$;Z(DKL?Z:H$QR6(>34^_%S\N)= U.\@
MQRJOTJP7;GRUQI-#00\'+G%Y&A7W5R1_2&(<GSQ_*MA4L5E53EC04.T6MKLV
MH/H> ;I?QS0)Q-) =2+H]AE]R]*A5?U=:TV^2RM0_=8/_B[RR9*'G*&(*3KA
MK,8B^+'MR$T_3,]P;4#U.P*TY.!1WXPJ<U0E@NI4CK@#67G4;.;RI& U7S:^
M%*.;KT(;4/6. #VP^39)A6^^[3M^%TF&Z7].Z8BDWKW7"@.J/3M&\SU%KL-^
M$%H0JB7/[IB'*;M ;JV5EBS42E%!M-0)53GF3K9,Z6N\]NOW 61558V":ZZV
MW2Y!DP;:)0)K0&L0CAK0%-J 6M\(T ,'M%W]!A_0&$KV/S9Q>HA2L<]5E"19
MECAF'^C\K/N'EJ3PN^VOUZ9/RW0;4^OH#_SI&?98@7CO0,41OP@ \2R0X=)-
M79KPD6!K*_TCM,L:"1$VO^[]L:M1N6$K%MQ'J$&&:FB(84,"W&LD/S536'26
M%)N\B-(/)-]NJ 9_7(R?R^'8_("/S_P!C)E!S3X<[1M$J(:$.":NV4;5.J,-
M17C%5K?Q56>C J2^U FG-CAA;\.^T0SE/7D?$7S+GEYC%ZQQ5HCG@ AA_2:;
M+YX\[T2JO1'^V,I\P]EUF?,5,XXOM^R.QGS%I95=T(&R M3;'-I"Z2T;]OGX
MA*6&VCFB5I9L.MB6J[)%/%_F0\1SYDX;(F_Z(\^=K1-$_J^=FKT7.3_0!$KV
MF/9YE!#V&*'RC-E?[E\C@=V-/ABG.Y1NWE:M -&I(0L94["]W609ZE2<VW!B
M+^X337'S8J73%#$;'D]S?Q  C>.A+#]D)RXP\3-'CDI!?"Z"&#3$L"$.[I7V
M\)\]S3Q4^4!C\J',.R1=/W^E$X[J]_.<K'#B=VYLSOHK(NU0B[W,G>L_H08-
M&'*+C6#,@X<WB\[ZL/M,/3FPZ0"BDS-4*7R54$1<L[4>/V(. +=T?A@EQE?)
M#UAEJKCODFW7>!TE["6A^>J<AYC^*XZ(JC+'IP:HFO=@A'1)CR?9ODUCH@+;
MM:M29TU:I(]8!I!)0AO )7XJ%X\X?< ?\ZR\5U]+'IG6:R.(R827TH-1@44M
M 4Z'EU3_*ZSN/54OQ$K]E+&@J.QV!W-775)1\23VX!K6)?1:JMN*?TS=MQ-%
M(E4T"?%N^*X(^.'K)A''.VPA_U9=U;(<J)HTP),KBIWQ[J3Y]D6@\F?[)6*I
MDJ;Y(YLZUK[BB^B)^W.?\C/G6:9OAD/3 %1OHZ%+\;WJA%"3TM'NMB%-3#C'
M'ZG/^+5-L/VG"_H3_7/])_H/6TS2O_P_4$L#!!0    (  Z"#5F*S#;9SS$
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
M@/"GT(^CV?R39>7E<C=C2^45R-@(P:[)N>7*VJ\A:Z3;I;6/GP@$%T]YXIE
M$8D+$J7_VDF3_N.W&6-38DC3WQ=^W0TSJ#4#>I_9PMGKR+*0SJ2<0-.9T[(\
M]O$28YF3VHH%J0'SUGWV-\E&!6>I"=SV4L:K@J:0&?!=@ 41^N%:?0S?:_3*
MUQ 1RX7S!*B4=&?G4K-N2$J@86*LNW)6E2@4UQBJ5%3Q)J%\B5>;).)!P TH
MH7Z9.294L("O;GJ:%T_X<%$6!C$596N^B69$68&EJZ+47V+N1ZL-DO@>L[);
MGK7 #_G4JTYK;T,JKT;?'ET_8';&-28\>JQ]M:M^$?K:K_/J)Q/2Z6OAP/-\
MUL4-CKC^J3[:IXK7%]7IJB/_3V::I,G%[UO0/^%7H*_HNZ=P"F%T0\,.B-PN
MU' MQ6[/$+.(Z<\O<<@#,!,W6""R^:!1Q&,3T_G+3:B@_ -$>[IJ79RK,\9T
M1&?LDNG#NHTT$O7G^E3L.N(!5[YM# $BCWYV;U5!<9ORPEF*%CAV@^+O633[
M&,>_HGB&EG@=JDW(%C_Y:I.K6Q>30!&/G&,T1O$HI/]"=)9P_LRRB_Y:SBX:
M#Q?.:'PYN1TZT^',F?\\F V[DUDT= G;C**<27W.D+P'S(I!A42X+G/EVN P
M.Y'$,?'O$E[ ?H&K6EZX<Y'SVL38P.XTG8!+$[LY-.%G\*T;)X0>4U$T6>V>
M0[AP Q81,5DM[NF7KOV0_HL"=(,H/]&  A2ECS!$RG<3?A"]F[#9?M#!*_X
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
M$>Z6TMO5>J_YG=S8WSNMBX(GPOB,5,I13&P>,$6Z[($,1$!#RURPR V3W"M
M1:CZGV*17''FNV=DD/BLV*<C1HK%RVJS_3]2Z[1_ZUX4.JTKNY"U'U YXF$Q
M%A%8.8[B<Y)>&8HX%L$9.8GB@JF>0U14_&\&%;#\4$B72=-"W:?.+8%FB!(^
M=Z<WL\;,_<KL_@-WXS'Z5_ZE</EK.%31>;4$QB[3WSE_2H\<TMY&1,43GZW>
M2U/O--KR$G?SUWSF0:OE<Q*S'W&1^GP4GA&\"!U"R5@R[Z+@1+Q8*=_]O_SU
MI'S\Y6@<!X7+1K]-:DP*%<O$B1.)YMNA<P0 BW]42_2R>M7KVJ\?X6I]VD5#
MZ""L"(=H<WTA^6B,G8$F7VL>J@T_FCNM/Z_;];;]^=-)Y:A2+=7!'1QI./2-
M5_W7#OH:O9J?<T6/!MR?G+T$(+_>RT@&V:!MWC6'A3&3Z_0-EEBC-;#;5^U&
MS6[WNI\_];\-;K[5H'F[EQ_1^@"9>IUV;UH-M$B 1TCOBMC7+7)3&]1KW=9-
ML?=GI_7];<W7&C::/2Z7C[=EYJY_>#<Y==?I1]OZ_*DI)(_'Y)K>\L""OI(Q
M]R8D'M/X;/<=7#Y0=JW>:9%&J].YZ=<:[>YO%X5R09_W:\UF=I[:STF+J0YQ
MA._32(&9["]C>U6%5;4'6?/WV.$.];/)"CWUNK:,"&QF[>4G_E^)PL%<O;VI
MD"H?G?+P#0?";NX,\LK1VZ%>ZUHVT,;TGA')[CE[8"XL8Z[('PF50(#^A Q8
M)&1,1$BNA RTCB3"(T\)S4?C!;\&6SQU=VFR[K'N)]56#]3QCG!>G2KF&GC
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
MZ&.,&7C-7:$9"0/&4>"@1W/5D9CQQK6OXJ"C!EZ(_=4;EOQZBT#H(&!>DL^
M4RR1?I5*1P1LL,NEWV.?H)9<!=HTCQ&.D$-=8M^",8@5,\HI&()]&^DWUA+[
MD-M!ET>C2  O0D@1YPBJB8@8-+$(W$CL*J)^,F;A$%N)V'))R W281MS H_8
MU((O-IH3-_A214O"R'P%9&*P!@))&+,HQI#,>%",_\R1(OZKPA1L!Z$04WP\
M?TB$$?@5E)9+!F9S[)-(FMRX9(44*W&YB"-A .;M?67@YO@RE?Y(1ZH^&AE3
M11V./YQ5Y$KR>ZIH6OX[4U:H#-=EI!6X+@XCV+WR;^F6]JT%<M><Y>*OQ9I;
MV,V] /[;3E9:PVOWX,JU=^"W1QR\12WQ-+<W:FN7F]I#C+L!98I($$BR3<>)
M7=B!+-A27!%RZPV!D:N8,N(!_2(1)K=1=X1ARV&H<7)DO\UBJ[A]K+>.++X:
M[UO'';&I%)T!'TGFK"<DO!=M=V+H803=\GG:.]#X^1G3?-4TICYD/ \GW(0L
MRS&%_).GGYSCF(HT&T(Z%71.LA-V76 69$B*72![% *_HS21.=3'OB7&0:!-
M$]$B><%3L9M&0Q 2ENA,0611D"7FVH'I6S/]V0FCB4JCG>I5X@40%;:RM!S:
M3&]U(MP\/JLT*R\&$LJ_#*$^FQCF[$(U+V:Z 37@6-W(JA]X0>X5)3OW_=&,
M+"C4W5! OGU95V>A>B(B=:=NOXNG];K@'+_;#9X]#[67PM!?M7<+H![54Z5:
MP$21>XX_4^^PT+O 4'Q',;__#N+Y*X%D_5-0!Q+L+P9U28F3JM5OX'S*Z35!
M$\>A%F%5-(5JGHI_KB2EO09'78L'[$"%O<1P-&443G0A=E/=9,V'(.7#"U=\
M/X737R>&/5C<PU'VE2W(X2C[*ES]<V,X+.Z>G5,5WV;PT*B&-'Q-H\-:_WQ'
MU90"*:@##_8:0^&T.EB_?\I.J\D1U2 6(QRSU8$ >XGA_AGU]BVD6'UL64'L
M<^HOOGID_?]O&;>:N)Y2: P6+<$=,.HJ)KXE.MO2_N#$G86^Y:+LTPV-,J>%
M9N9'^I5!_V:H8NK#]K3-O3A;K&O!R-R\#C)7(1BI,#RG5@>-L4=2%XR#I-&[
MV#&=3Q(W;EV>ME9G#BH^?J>W^JF+*3@A&MC3CG;1^/XO4$L! A0#%     @
M#H(-606AW6'NZ@  @CX* !(              ( !     &-P:2TQ,'%?,#8S
M,#(T+FAT;5!+ 0(4 Q0    (  Z"#5DLE\\F#!T  (D=   -
M  "  1[K  !C<&DQ,'$P,#$N:G!G4$L! A0#%     @ #H(-62C32I5/#0
M,'X  !               ( !50@! &-V=2TR,#(T,#8S,"YX<V102P$"% ,4
M    "  .@@U9$N@#EE<3  "LUP  %               @ '2%0$ 8W9U+3(P
M,C0P-C,P7V-A;"YX;6Q02P$"% ,4    "  .@@U9\,$HE:,:   (F@$ %
M            @ %;*0$ 8W9U+3(P,C0P-C,P7V1E9BYX;6Q02P$"% ,4
M"  .@@U9%GCNBCM$  "YPP, %               @ $P1 $ 8W9U+3(P,C0P
M-C,P7VQA8BYX;6Q02P$"% ,4    "  .@@U9BLPVV<\Q  !U*@, %
M        @ &=B $ 8W9U+3(P,C0P-C,P7W!R92YX;6Q02P$"% ,4    "  .
M@@U9;FK:GC8)  !H4   "@              @ &>N@$ 97@S,2TQ+FAT;5!+
M 0(4 Q0    (  Z"#5ET CO9 0D  "A/   *              "  ?S# 0!E
M>#,Q+3(N:'1M4$L! A0#%     @ #H(-6=%KWV2T!0  _RX   H
J     ( !)<T! &5X,S(M,2YH=&U02P4&      H "@!I @   =,!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>cpi-10q_063024_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:cvu="http://cpiaero.com/20240630"
  xmlns:dei="http://xbrl.sec.gov/dei/2024"
  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="cvu-20240630.xsd" xlink:type="simple"/>
    <context id="From2024-01-01to2024-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2024-08-09">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
        </entity>
        <period>
            <instant>2024-08-09</instant>
        </period>
    </context>
    <context id="AsOf2024-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2024-04-012024-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-03-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-03-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-03-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2024-06-30_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</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="AsOf2024-06-30_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</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="AsOf2024-06-30_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</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="AsOf2023-06-30_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</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="AsOf2023-06-30_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</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="AsOf2023-06-30_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</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="AsOf2023-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_custom_GovernmentSubcontractsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:GovernmentSubcontractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_custom_GovernmentSubcontractsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:GovernmentSubcontractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_custom_GovernmentSubcontractsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:GovernmentSubcontractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_GovernmentSubcontractsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:GovernmentSubcontractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_custom_PrimeGovernmentContractsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:PrimeGovernmentContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_custom_PrimeGovernmentContractsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:PrimeGovernmentContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_custom_PrimeGovernmentContractsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:PrimeGovernmentContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_PrimeGovernmentContractsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:PrimeGovernmentContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_custom_CommercialContractsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:CommercialContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_custom_CommercialContractsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:CommercialContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_custom_CommercialContractsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:CommercialContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_CommercialContractsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:CommercialContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_us-gaap_TransferredOverTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_us-gaap_TransferredOverTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_us-gaap_TransferredOverTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_us-gaap_TransferredOverTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_us-gaap_TransferredAtPointInTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_us-gaap_TransferredAtPointInTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_us-gaap_TransferredAtPointInTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_us-gaap_TransferredAtPointInTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_custom_FavorableAdjustmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">cvu:FavorableAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_FavorableAdjustmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">cvu:FavorableAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_custom_UnfavorableAdjustmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">cvu:UnfavorableAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_UnfavorableAdjustmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">cvu:UnfavorableAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2009-12-31_custom_PerformanceEquityPlan2009Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cvu:PerformanceEquityPlan2009Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2009-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-06-30_custom_PerformanceEquityPlan2009Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cvu:PerformanceEquityPlan2009Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="AsOf2016-12-31_custom_LTIP2016Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cvu:LTIP2016Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="AsOf2016-12-31_custom_LTIP2016Member_us-gaap_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cvu:LTIP2016Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="From2020-10-012020-12-31_custom_LTIP2016Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cvu:LTIP2016Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-10-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2020-12-31_custom_LTIP2016Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cvu:LTIP2016Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_custom_LTIP2016Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cvu:LTIP2016Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_LTIP2016Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cvu:LTIP2016Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2024-06-30_custom_LTIP2016Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cvu:LTIP2016Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_us-gaap_RestrictedStockUnitsRSUMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_us-gaap_RestrictedStockMember_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_us-gaap_RestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_us-gaap_PerformanceSharesMember_us-gaap_ShareBasedCompensationAwardTrancheOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_us-gaap_PerformanceSharesMember_us-gaap_ShareBasedCompensationAwardTrancheTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_us-gaap_PerformanceSharesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2024-06-30_us-gaap_PerformanceSharesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_us-gaap_CostOfSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_us-gaap_CostOfSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_us-gaap_CostOfSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_us-gaap_CostOfSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_us-gaap_SellingGeneralAndAdministrativeExpensesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_us-gaap_SellingGeneralAndAdministrativeExpensesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_us-gaap_SellingGeneralAndAdministrativeExpensesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_us-gaap_SellingGeneralAndAdministrativeExpensesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_RestrictedStockUnitsRSUMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-06-30_us-gaap_RestrictedStockUnitsRSUMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_RestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-06-30_us-gaap_RestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_PerformanceSharesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2016-03-24_custom_BankUnitedMember_us-gaap_RevolvingCreditFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-03-24</instant>
        </period>
    </context>
    <context id="AsOf2016-03-24_custom_BankUnitedMember_custom_TermLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cvu:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-03-24</instant>
        </period>
    </context>
    <context id="From2024-02-192024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-02-19</startDate>
            <endDate>2024-02-20</endDate>
        </period>
    </context>
    <context id="AsOf2024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">cvu:PeriodOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-20</instant>
        </period>
    </context>
    <context id="AsOf2024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">cvu:PeriodTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-20</instant>
        </period>
    </context>
    <context id="AsOf2024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodThreeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">cvu:PeriodThreeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-20</instant>
        </period>
    </context>
    <context id="AsOf2024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodFourMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">cvu:PeriodFourMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-20</instant>
        </period>
    </context>
    <context id="AsOf2024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodFiveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">cvu:PeriodFiveMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-20</instant>
        </period>
    </context>
    <context id="AsOf2024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodSixMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">cvu:PeriodSixMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-20</instant>
        </period>
    </context>
    <context id="AsOf2024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodSevenMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">cvu:PeriodSevenMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-20</instant>
        </period>
    </context>
    <context id="AsOf2024-06-30_custom_BankUnitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_custom_BankUnitedMember_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_custom_BankUnitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_custom_BankUnitedMember_custom_RevolvingLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cvu:RevolvingLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2024-06-30_custom_BankUnitedMember_custom_RevolvingLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cvu:RevolvingLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="AsOf2024-06-30_custom_BankUnitedMember_us-gaap_RevolvingCreditFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_BankUnitedMember_us-gaap_RevolvingCreditFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2016-03-252024-06-30_custom_BankUnitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2016-03-25</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_BankUnitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerOneMember</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>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerTwoMember</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>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerThreeMember</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>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFourMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerFourMember</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>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerOneMember</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-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerTwoMember</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-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerOneMember</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>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerTwoMember</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>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerThreeMember</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>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-04-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFourMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerFourMember</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>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerOneMember</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-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerTwoMember</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-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerThreeMember</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-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerOneMember</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>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerTwoMember</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>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerThreeMember</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>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFourMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerFourMember</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>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerOneMember</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-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerTwoMember</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-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerThreeMember</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-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFourMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerFourMember</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-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cvu:ContractAssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cvu:ContractAssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerThreeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cvu:ContractAssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cvu:ContractAssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cvu:ContractAssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerThreeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cvu:ContractAssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFourMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerFourMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">cvu:ContractAssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-06-30_us-gaap_AccountsPayableMember_us-gaap_CustomerConcentrationRiskMember_custom_VendorOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:VendorOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsPayableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="From2024-06-012024-06-20">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
        </entity>
        <period>
            <startDate>2024-06-01</startDate>
            <endDate>2024-06-20</endDate>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Shares">
        <measure>shares</measure>
    </unit>
    <unit id="USDPShares">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Pure">
        <measure>pure</measure>
    </unit>
    <dei:AmendmentFlag contextRef="From2024-01-01to2024-06-30" id="Fact000003">false</dei:AmendmentFlag>
    <dei:DocumentFiscalPeriodFocus contextRef="From2024-01-01to2024-06-30" id="Fact000004">Q2</dei:DocumentFiscalPeriodFocus>
    <dei:DocumentFiscalYearFocus contextRef="From2024-01-01to2024-06-30" id="Fact000005">2024</dei:DocumentFiscalYearFocus>
    <dei:CurrentFiscalYearEndDate contextRef="From2024-01-01to2024-06-30" id="Fact000006">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:EntityCentralIndexKey contextRef="From2024-01-01to2024-06-30" id="Fact000007">0000889348</dei:EntityCentralIndexKey>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0242"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0243"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0248"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0249"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0254"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0256"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-04-012024-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0266"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-04-012024-06-30_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0267"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="From2024-04-012024-06-30_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0272"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="From2024-04-012024-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0273"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2024-04-012024-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0278"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2024-04-012024-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0280"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0297"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-03-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0298"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="From2023-01-012023-03-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0303"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0304"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0309"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0311"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0321"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-04-012023-06-30_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0322"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="From2023-04-012023-06-30_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0327"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="From2023-04-012023-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0328"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0333"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-04-012023-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0335"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProvisionForLoanLeaseAndOtherLosses
      contextRef="From2023-01-012023-06-30"
      id="xdx2ixbrl0367"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:IncreaseDecreaseInInsuranceSettlementsReceivable
      contextRef="From2024-01-01to2024-06-30"
      id="xdx2ixbrl0378"
      unitRef="USD"
      xsi:nil="true"/>
    <cvu:IncreaseDecreaseInLitigationSettlementObligation
      contextRef="From2024-01-01to2024-06-30"
      id="xdx2ixbrl0396"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="From2023-01-012023-06-30"
      id="xdx2ixbrl0424"
      unitRef="USD"
      xsi:nil="true"/>
    <cvu:RepaymentsOfInsuranceFinancingObligation
      contextRef="From2023-01-012023-06-30"
      id="xdx2ixbrl0430"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="From2024-01-01to2024-06-30"
      id="xdx2ixbrl0432"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2023-01-012023-06-30"
      id="xdx2ixbrl0457"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2024-04-012024-06-30_us-gaap_CostOfSalesMember"
      id="xdx2ixbrl0575"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockUnitsRSUMember"
      id="xdx2ixbrl0591">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
      contextRef="AsOf2023-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      id="xdx2ixbrl0597"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="AsOf2023-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      id="xdx2ixbrl0599"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares
      contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockUnitsRSUMember"
      id="xdx2ixbrl0609"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue
      contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockUnitsRSUMember"
      id="xdx2ixbrl0611"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
      contextRef="From2024-01-012024-06-30_us-gaap_PerformanceSharesMember"
      id="xdx2ixbrl0660"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue
      contextRef="From2024-01-012024-06-30_us-gaap_PerformanceSharesMember"
      id="xdx2ixbrl0662"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <dei:DocumentType contextRef="From2024-01-01to2024-06-30" id="Fact000013">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport contextRef="From2024-01-01to2024-06-30" id="Fact000014">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate contextRef="From2024-01-01to2024-06-30" id="Fact000015">2024-06-30</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport contextRef="From2024-01-01to2024-06-30" id="Fact000016">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="From2024-01-01to2024-06-30" id="Fact000017">1-11398</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="From2024-01-01to2024-06-30" id="Fact000018">CPI AEROSTRUCTURES, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="From2024-01-01to2024-06-30" id="Fact000019">NY</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="From2024-01-01to2024-06-30" id="Fact000020">11-2520310</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="From2024-01-01to2024-06-30" id="Fact000021">91     Heartland Blvd.</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="From2024-01-01to2024-06-30" id="Fact000022">Edgewood</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="From2024-01-01to2024-06-30" id="Fact000023">NY</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="From2024-01-01to2024-06-30" id="Fact000024">11717</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="From2024-01-01to2024-06-30" id="Fact000025">(631)</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="From2024-01-01to2024-06-30" id="Fact000026">586-5200</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="From2024-01-01to2024-06-30" id="Fact000027">Common     stock, $0.001 par value per share</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="From2024-01-01to2024-06-30" id="Fact000028">CVU</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="From2024-01-01to2024-06-30" id="Fact000029">NYSEAMER</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus contextRef="From2024-01-01to2024-06-30" id="Fact000030">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="From2024-01-01to2024-06-30" id="Fact000031">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="From2024-01-01to2024-06-30" id="Fact000032">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="From2024-01-01to2024-06-30" id="Fact000033">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="From2024-01-01to2024-06-30" id="Fact000034">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany contextRef="From2024-01-01to2024-06-30" id="Fact000035">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="AsOf2024-08-09"
      decimals="INF"
      id="Fact000036"
      unitRef="Shares">13036622</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:Cash
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000044"
      unitRef="USD">1936697</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000045"
      unitRef="USD">5094794</us-gaap:Cash>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000047"
      unitRef="USD">6228639</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000048"
      unitRef="USD">4352196</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000050"
      unitRef="USD">34183988</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000051"
      unitRef="USD">35312068</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:InventoryNet
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000053"
      unitRef="USD">1132520</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000054"
      unitRef="USD">1436647</us-gaap:InventoryNet>
    <us-gaap:IncomeTaxesReceivable
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000056"
      unitRef="USD">40000</us-gaap:IncomeTaxesReceivable>
    <us-gaap:IncomeTaxesReceivable
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000057"
      unitRef="USD">40000</us-gaap:IncomeTaxesReceivable>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000059"
      unitRef="USD">563147</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000060"
      unitRef="USD">678026</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000062"
      unitRef="USD">44084991</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000063"
      unitRef="USD">46913731</us-gaap:AssetsCurrent>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000065"
      unitRef="USD">3808903</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000066"
      unitRef="USD">4740193</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000068"
      unitRef="USD">793664</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000069"
      unitRef="USD">794056</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000071"
      unitRef="USD">19582905</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000072"
      unitRef="USD">19938124</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:Goodwill
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000074"
      unitRef="USD">1784254</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000075"
      unitRef="USD">1784254</us-gaap:Goodwill>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000077"
      unitRef="USD">162803</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000078"
      unitRef="USD">189774</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000080"
      unitRef="USD">70217520</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000081"
      unitRef="USD">74360132</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000089"
      unitRef="USD">14528893</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000090"
      unitRef="USD">10487012</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000092"
      unitRef="USD">5994894</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000093"
      unitRef="USD">10275695</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000095"
      unitRef="USD">2482535</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000096"
      unitRef="USD">5937629</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:LossContingencyAccrualCarryingValueCurrent
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000098"
      unitRef="USD">59922</us-gaap:LossContingencyAccrualCarryingValueCurrent>
    <us-gaap:LossContingencyAccrualCarryingValueCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000099"
      unitRef="USD">337351</us-gaap:LossContingencyAccrualCarryingValueCurrent>
    <us-gaap:LinesOfCreditCurrent
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000101"
      unitRef="USD">2640000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:LinesOfCreditCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000102"
      unitRef="USD">2400000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:OtherLongTermDebtCurrent
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000104"
      unitRef="USD">30663</us-gaap:OtherLongTermDebtCurrent>
    <us-gaap:OtherLongTermDebtCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000105"
      unitRef="USD">44498</us-gaap:OtherLongTermDebtCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000107"
      unitRef="USD">2076851</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000108"
      unitRef="USD">1999058</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000110"
      unitRef="USD">31734</us-gaap:TaxesPayableCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000111"
      unitRef="USD">30107</us-gaap:TaxesPayableCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000113"
      unitRef="USD">27845492</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000114"
      unitRef="USD">31511350</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermLineOfCredit
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000116"
      unitRef="USD">16200000</us-gaap:LongTermLineOfCredit>
    <us-gaap:LongTermLineOfCredit
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000117"
      unitRef="USD">17640000</us-gaap:LongTermLineOfCredit>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000119"
      unitRef="USD">2044237</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000120"
      unitRef="USD">3100571</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OtherLongTermDebtNoncurrent
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000122"
      unitRef="USD">10821</us-gaap:OtherLongTermDebtNoncurrent>
    <us-gaap:OtherLongTermDebtNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000123"
      unitRef="USD">26483</us-gaap:OtherLongTermDebtNoncurrent>
    <us-gaap:Liabilities
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000125"
      unitRef="USD">46100550</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000126"
      unitRef="USD">52278404</us-gaap:Liabilities>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2024-06-30"
      decimals="INF"
      id="Fact000137"
      unitRef="USDPShares">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000139"
      unitRef="USDPShares">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2024-06-30"
      decimals="INF"
      id="Fact000141"
      unitRef="Shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000143"
      unitRef="Shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2024-06-30"
      decimals="INF"
      id="Fact000145"
      unitRef="Shares">12962863</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2024-06-30"
      decimals="INF"
      id="Fact000147"
      unitRef="Shares">12962863</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000149"
      unitRef="Shares">12771434</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000151"
      unitRef="Shares">12771434</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000134"
      unitRef="USD">12963</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000135"
      unitRef="USD">12771</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000153"
      unitRef="USD">74329545</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000154"
      unitRef="USD">73872679</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000156"
      unitRef="USD">-50225538</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000157"
      unitRef="USD">-51803722</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000159"
      unitRef="USD">24116970</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000160"
      unitRef="USD">22081728</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000162"
      unitRef="USD">70217520</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000163"
      unitRef="USD">74360132</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-04-012024-06-30"
      decimals="0"
      id="Fact000165"
      unitRef="USD">20810334</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      id="Fact000166"
      unitRef="USD">20547555</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000167"
      unitRef="USD">39891477</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000168"
      unitRef="USD">42564223</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfRevenue
      contextRef="From2024-04-012024-06-30"
      decimals="0"
      id="Fact000170"
      unitRef="USD">15694910</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      id="Fact000171"
      unitRef="USD">15943555</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000172"
      unitRef="USD">31222304</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000173"
      unitRef="USD">33297707</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="From2024-04-012024-06-30"
      decimals="0"
      id="Fact000175"
      unitRef="USD">5115424</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      id="Fact000176"
      unitRef="USD">4604000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000177"
      unitRef="USD">8669173</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000178"
      unitRef="USD">9266516</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="From2024-04-012024-06-30"
      decimals="0"
      id="Fact000180"
      unitRef="USD">2775935</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      id="Fact000181"
      unitRef="USD">2806480</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000182"
      unitRef="USD">5489839</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000183"
      unitRef="USD">5675538</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2024-04-012024-06-30"
      decimals="0"
      id="Fact000185"
      unitRef="USD">2339489</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      id="Fact000186"
      unitRef="USD">1797520</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000187"
      unitRef="USD">3179334</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000188"
      unitRef="USD">3590978</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="From2024-04-012024-06-30"
      decimals="0"
      id="Fact000190"
      unitRef="USD">587971</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      id="Fact000191"
      unitRef="USD">541655</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000192"
      unitRef="USD">1220106</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000193"
      unitRef="USD">1152551</us-gaap:InterestExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2024-04-012024-06-30"
      decimals="0"
      id="Fact000195"
      unitRef="USD">1751518</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      id="Fact000196"
      unitRef="USD">1255865</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000197"
      unitRef="USD">1959228</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000198"
      unitRef="USD">2438427</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2024-04-012024-06-30"
      decimals="0"
      id="Fact000200"
      unitRef="USD">341572</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      id="Fact000201"
      unitRef="USD">98789</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000202"
      unitRef="USD">381044</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000203"
      unitRef="USD">298046</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-04-012024-06-30"
      decimals="0"
      id="Fact000205"
      unitRef="USD">1409946</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      id="Fact000206"
      unitRef="USD">1157076</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000207"
      unitRef="USD">1578184</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000208"
      unitRef="USD">2140381</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2024-04-012024-06-30"
      decimals="2"
      id="Fact000210"
      unitRef="USDPShares">0.11</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2023-04-012023-06-30"
      decimals="2"
      id="Fact000211"
      unitRef="USDPShares">0.09</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2024-01-01to2024-06-30"
      decimals="2"
      id="Fact000212"
      unitRef="USDPShares">0.13</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2023-01-012023-06-30"
      decimals="2"
      id="Fact000213"
      unitRef="USDPShares">0.17</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2024-04-012024-06-30"
      decimals="2"
      id="Fact000215"
      unitRef="USDPShares">0.11</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2023-04-012023-06-30"
      decimals="2"
      id="Fact000216"
      unitRef="USDPShares">0.09</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2024-01-01to2024-06-30"
      decimals="2"
      id="Fact000217"
      unitRef="USDPShares">0.12</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2023-01-012023-06-30"
      decimals="2"
      id="Fact000218"
      unitRef="USDPShares">0.17</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2024-04-012024-06-30"
      decimals="0"
      id="Fact000225"
      unitRef="Shares">12440426</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      id="Fact000226"
      unitRef="Shares">12558793</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000227"
      unitRef="Shares">12515824</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000228"
      unitRef="Shares">12539652</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2024-04-012024-06-30"
      decimals="0"
      id="Fact000230"
      unitRef="Shares">12554153</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      id="Fact000231"
      unitRef="Shares">12625241</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000232"
      unitRef="Shares">12656753</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000233"
      unitRef="Shares">12606100</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2023-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000240"
      unitRef="Shares">12771434</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000235"
      unitRef="USD">12771</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000236"
      unitRef="USD">73872679</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000237"
      unitRef="USD">-51803722</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000238"
      unitRef="USD">22081728</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000244"
      unitRef="USD">168238</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-012024-03-31"
      decimals="0"
      id="Fact000245"
      unitRef="USD">168238</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000252"
      unitRef="Shares">13334</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000247"
      unitRef="USD">13</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="From2024-01-012024-03-31"
      decimals="0"
      id="Fact000250"
      unitRef="USD">13</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2024-01-012024-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000255"
      unitRef="USD">281510</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2024-01-012024-03-31"
      decimals="0"
      id="Fact000257"
      unitRef="USD">281510</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2024-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000264"
      unitRef="Shares">12784768</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-03-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000259"
      unitRef="USD">12784</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000260"
      unitRef="USD">74154189</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-03-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000261"
      unitRef="USD">-51635484</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000262"
      unitRef="USD">22531489</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-04-012024-06-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000268"
      unitRef="USD">1409946</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-04-012024-06-30"
      decimals="0"
      id="Fact000269"
      unitRef="USD">1409946</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="From2024-04-012024-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000276"
      unitRef="Shares">178095</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="From2024-04-012024-06-30_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000271"
      unitRef="USD">179</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="From2024-04-012024-06-30"
      decimals="0"
      id="Fact000274"
      unitRef="USD">179</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2024-04-012024-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000279"
      unitRef="USD">175356</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2024-04-012024-06-30"
      decimals="0"
      id="Fact000281"
      unitRef="USD">175356</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2024-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000288"
      unitRef="Shares">12962863</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-06-30_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000283"
      unitRef="USD">12963</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000284"
      unitRef="USD">74329545</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-06-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000285"
      unitRef="USD">-50225538</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000286"
      unitRef="USD">24116970</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2022-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000295"
      unitRef="Shares">12506795</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000290"
      unitRef="USD">12507</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000291"
      unitRef="USD">73189449</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000292"
      unitRef="USD">-69004926</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000293"
      unitRef="USD">4197030</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000299"
      unitRef="USD">983305</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000300"
      unitRef="USD">983305</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000307"
      unitRef="Shares">19247</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000302"
      unitRef="USD">19</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000305"
      unitRef="USD">19</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000310"
      unitRef="USD">338904</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000312"
      unitRef="USD">338904</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2023-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000319"
      unitRef="Shares">12526042</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-03-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000314"
      unitRef="USD">12526</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000315"
      unitRef="USD">73528353</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-03-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000316"
      unitRef="USD">-68021621</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-03-31"
      decimals="0"
      id="Fact000317"
      unitRef="USD">5519258</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-04-012023-06-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000323"
      unitRef="USD">1157076</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      id="Fact000324"
      unitRef="USD">1157076</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000331"
      unitRef="Shares">201125</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000326"
      unitRef="USD">201</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      id="Fact000329"
      unitRef="USD">201</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-04-012023-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000334"
      unitRef="USD">180015</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      id="Fact000336"
      unitRef="USD">180015</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2023-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000343"
      unitRef="Shares">12727167</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-06-30_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000338"
      unitRef="USD">12727</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="Fact000339"
      unitRef="USD">73708368</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-06-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000340"
      unitRef="USD">-66864545</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-06-30"
      decimals="0"
      id="Fact000341"
      unitRef="USD">6856550</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000348"
      unitRef="USD">1578184</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000349"
      unitRef="USD">2140381</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000354"
      unitRef="USD">202413</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000355"
      unitRef="USD">233090</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000357"
      unitRef="USD">26971</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000358"
      unitRef="USD">58743</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:ShareBasedCompensation
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000360"
      unitRef="USD">457058</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000361"
      unitRef="USD">519139</us-gaap:ShareBasedCompensation>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000363"
      unitRef="USD">-355219</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000364"
      unitRef="USD">-295362</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:ProvisionForLoanLeaseAndOtherLosses
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000366"
      unitRef="USD">144565</us-gaap:ProvisionForLoanLeaseAndOtherLosses>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000369"
      unitRef="USD">931290</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000370"
      unitRef="USD">880144</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000375"
      unitRef="USD">2021008</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000376"
      unitRef="USD">3763529</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInsuranceSettlementsReceivable
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000379"
      unitRef="USD">-3600000</us-gaap:IncreaseDecreaseInInsuranceSettlementsReceivable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000381"
      unitRef="USD">-1128080</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000382"
      unitRef="USD">3577521</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000384"
      unitRef="USD">-304127</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000385"
      unitRef="USD">-574163</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000387"
      unitRef="USD">-114879</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000388"
      unitRef="USD">-410116</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000390"
      unitRef="USD">-64565</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000391"
      unitRef="USD">1674132</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000393"
      unitRef="USD">-3455094</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000394"
      unitRef="USD">2603628</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <cvu:IncreaseDecreaseInLitigationSettlementObligation
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000397"
      unitRef="USD">-3600000</cvu:IncreaseDecreaseInLitigationSettlementObligation>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000399"
      unitRef="USD">-978541</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000400"
      unitRef="USD">-852156</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <cvu:IncreaseDecreaseInLossReserve
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000402"
      unitRef="USD">-277429</cvu:IncreaseDecreaseInLossReserve>
    <cvu:IncreaseDecreaseInLossReserve
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000403"
      unitRef="USD">-326033</cvu:IncreaseDecreaseInLossReserve>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000405"
      unitRef="USD">1627</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000406"
      unitRef="USD">5478</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000408"
      unitRef="USD">-1552224</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000409"
      unitRef="USD">875137</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000414"
      unitRef="USD">202021</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000415"
      unitRef="USD">59265</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000417"
      unitRef="USD">-202021</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000418"
      unitRef="USD">-59265</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000423"
      unitRef="USD">1200000</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000426"
      unitRef="USD">29497</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000427"
      unitRef="USD">1528091</us-gaap:RepaymentsOfLongTermDebt>
    <cvu:RepaymentsOfInsuranceFinancingObligation
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000429"
      unitRef="USD">174355</cvu:RepaymentsOfInsuranceFinancingObligation>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000433"
      unitRef="USD">54334</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000435"
      unitRef="USD">-1403852</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000436"
      unitRef="USD">-1582425</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000438"
      unitRef="USD">-3158097</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000439"
      unitRef="USD">-766553</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000441"
      unitRef="USD">5094794</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000442"
      unitRef="USD">3847225</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000444"
      unitRef="USD">1936697</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2023-06-30"
      decimals="0"
      id="Fact000445"
      unitRef="USD">3080672</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:InterestPaidNet
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000453"
      unitRef="USD">1218775</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000454"
      unitRef="USD">1193411</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000456"
      unitRef="USD">35000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock contextRef="From2024-01-01to2024-06-30" id="Fact000459">&lt;p id="xdx_809_eus-gaap--OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_z3ZIuaMgKUk5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
&lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 0px"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 48px"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;1.&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_825_znsVE15PVcVk"&gt;INTERIM FINANCIAL
    STATEMENTS&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&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 id="xdx_84F_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_zBput2Hq1zEc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Basis
of Presentation&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company consists of CPI Aerostructures, Inc. (&#x201c;CPI Aero&#x201d;), Welding Metallurgy, Inc. (&#x201c;WMI&#x201d;), a wholly
owned subsidiary of CPI Aero, and Compac Development Corporation, a wholly owned subsidiary of WMI (collectively, the &#x201c;Company&#x201d;,
&#x201c;we&#x201d;, &#x201c;us&#x201d;, or &#x201c;our&#x201d;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
condensed consolidated interim financial statements of the Company as of June 30, 2024 and for the three and six months ended
June 30, 2024 and 2023 have been prepared pursuant to the rules and regulations of the Securities and Exchange Commission (&#x201c;SEC&#x201d;).
Certain information and notes normally included in financial statements prepared in accordance with generally accepted accounting
principles in the United States of America (&#x201c;U.S. GAAP&#x201d;) have been condensed or omitted pursuant to those rules and
regulations. The consolidated balance sheet at December 31, 2023 has been derived from audited consolidated financial statements,
but does not include all of the information and notes required by U.S. GAAP. The Company believes that the disclosures are adequate
to make the information presented not misleading.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;All
adjustments that, in the opinion of the management, are necessary for a fair presentation for the periods presented have been
reflected. Such adjustments are of a normal, recurring nature. It is suggested that these consolidated financial statements be
read in conjunction with the consolidated financial statements and notes thereto included in the Company&#x2019;s Annual Report
on Form 10-K for the year ended December 31, 2023 (the &#x201c;Form 10-K&#x201d;). The results of operations for interim periods
are not necessarily indicative of the operating results to be expected for the full year or any other interim period.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;An
operating segment, in part, is a component of an enterprise whose operating results are regularly reviewed by the chief operating
decision maker (the &#x201c;CODM&#x201d;) to make decisions about resources to be allocated to the segment and assess its performance.
Operating segments may be aggregated only to a limited extent. The Company&#x2019;s CODM, the Chief Executive Officer, reviews
financial information presented on a consolidated basis for purposes of making operating decisions and assessing financial performance.
The Company has determined that it has a single operating and reportable segment.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company maintains its cash in multiple financial institutions. The balances are insured by the Federal Deposit Insurance Corporation.
From time to time, the Company&#x2019;s balances may exceed insurance limits. As of June 30, 2024, the Company had $&lt;span id="xdx_90C_eus-gaap--CashUninsuredAmount_iI_c20240630_zs50r1Ntzv9a" title="Uninsured balance"&gt;1,781,798&lt;/span&gt; of
uninsured balances. The Company limits its credit risk by selecting financial institutions considered to be highly creditworthy.&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_848_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zkqtcSIPtq9h" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Recently
Issued Accounting Standards &#x2013; Not Adopted&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
December 2023, the FASB issued ASU No. 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which focuses
on the rate reconciliation and income taxes paid. ASU No. 2023-09 requires a public business entity (&#x201c;PBE&#x201d;) to disclose,
on an annual basis, a tabular rate reconciliation using both percentages and currency amounts, broken out into specified categories
with certain reconciling items further broken out by nature and jurisdiction to the extent those items exceed a specified threshold.
In addition, all entities are required to disclose income taxes paid, net of refunds received disaggregated by federal, state/local,
and foreign and by jurisdiction if the amount is at least 5% of total income tax payments, net of refunds received. For PBEs,
the new standard is effective for annual periods beginning after December 15, 2024, with early adoption permitted. An entity may
apply the amendments in this ASU prospectively by providing the revised disclosures for the period ending December 31, 2025 and
continuing to provide the pre-ASU disclosures for the prior periods, or may apply the amendments retrospectively by providing
the revised disclosures for all period presented. We expect this ASU to only impact our disclosures with no impacts to our results
of operations, cash flows, and financial condition.&lt;/span&gt;&lt;/p&gt;

</us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock contextRef="From2024-01-01to2024-06-30" id="Fact000461">&lt;p id="xdx_84F_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_zBput2Hq1zEc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Basis
of Presentation&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company consists of CPI Aerostructures, Inc. (&#x201c;CPI Aero&#x201d;), Welding Metallurgy, Inc. (&#x201c;WMI&#x201d;), a wholly
owned subsidiary of CPI Aero, and Compac Development Corporation, a wholly owned subsidiary of WMI (collectively, the &#x201c;Company&#x201d;,
&#x201c;we&#x201d;, &#x201c;us&#x201d;, or &#x201c;our&#x201d;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
condensed consolidated interim financial statements of the Company as of June 30, 2024 and for the three and six months ended
June 30, 2024 and 2023 have been prepared pursuant to the rules and regulations of the Securities and Exchange Commission (&#x201c;SEC&#x201d;).
Certain information and notes normally included in financial statements prepared in accordance with generally accepted accounting
principles in the United States of America (&#x201c;U.S. GAAP&#x201d;) have been condensed or omitted pursuant to those rules and
regulations. The consolidated balance sheet at December 31, 2023 has been derived from audited consolidated financial statements,
but does not include all of the information and notes required by U.S. GAAP. The Company believes that the disclosures are adequate
to make the information presented not misleading.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;All
adjustments that, in the opinion of the management, are necessary for a fair presentation for the periods presented have been
reflected. Such adjustments are of a normal, recurring nature. It is suggested that these consolidated financial statements be
read in conjunction with the consolidated financial statements and notes thereto included in the Company&#x2019;s Annual Report
on Form 10-K for the year ended December 31, 2023 (the &#x201c;Form 10-K&#x201d;). The results of operations for interim periods
are not necessarily indicative of the operating results to be expected for the full year or any other interim period.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;An
operating segment, in part, is a component of an enterprise whose operating results are regularly reviewed by the chief operating
decision maker (the &#x201c;CODM&#x201d;) to make decisions about resources to be allocated to the segment and assess its performance.
Operating segments may be aggregated only to a limited extent. The Company&#x2019;s CODM, the Chief Executive Officer, reviews
financial information presented on a consolidated basis for purposes of making operating decisions and assessing financial performance.
The Company has determined that it has a single operating and reportable segment.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company maintains its cash in multiple financial institutions. The balances are insured by the Federal Deposit Insurance Corporation.
From time to time, the Company&#x2019;s balances may exceed insurance limits. As of June 30, 2024, the Company had $&lt;span id="xdx_90C_eus-gaap--CashUninsuredAmount_iI_c20240630_zs50r1Ntzv9a" title="Uninsured balance"&gt;1,781,798&lt;/span&gt; of
uninsured balances. The Company limits its credit risk by selecting financial institutions considered to be highly creditworthy.&lt;/span&gt;&lt;/p&gt;

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

</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:CashUninsuredAmount
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000463"
      unitRef="USD">1781798</us-gaap:CashUninsuredAmount>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="From2024-01-01to2024-06-30" id="Fact000465">&lt;p id="xdx_848_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zkqtcSIPtq9h" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Recently
Issued Accounting Standards &#x2013; Not Adopted&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
December 2023, the FASB issued ASU No. 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which focuses
on the rate reconciliation and income taxes paid. ASU No. 2023-09 requires a public business entity (&#x201c;PBE&#x201d;) to disclose,
on an annual basis, a tabular rate reconciliation using both percentages and currency amounts, broken out into specified categories
with certain reconciling items further broken out by nature and jurisdiction to the extent those items exceed a specified threshold.
In addition, all entities are required to disclose income taxes paid, net of refunds received disaggregated by federal, state/local,
and foreign and by jurisdiction if the amount is at least 5% of total income tax payments, net of refunds received. For PBEs,
the new standard is effective for annual periods beginning after December 15, 2024, with early adoption permitted. An entity may
apply the amendments in this ASU prospectively by providing the revised disclosures for the period ending December 31, 2025 and
continuing to provide the pre-ASU disclosures for the prior periods, or may apply the amendments retrospectively by providing
the revised disclosures for all period presented. We expect this ASU to only impact our disclosures with no impacts to our results
of operations, cash flows, and financial condition.&lt;/span&gt;&lt;/p&gt;

</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="From2024-01-01to2024-06-30" id="Fact000467">&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"&gt;&lt;b&gt;&lt;span id="xdx_826_z2qK1HazBDXk"&gt;REVENUE&lt;/span&gt;&lt;/b&gt;&lt;/span&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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Disaggregation
of Revenue&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_894_eus-gaap--DisaggregationOfRevenueTableTextBlock_zzFYFTAEhci8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following tables present the Company&#x2019;s revenue disaggregated by contract type and revenue recognition method:&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Three months ended&lt;br/&gt; June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Six months ended&lt;br/&gt; June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&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: 40%; text-align: left"&gt;Government subcontracts&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 id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630__srt--ProductOrServiceAxis__custom--GovernmentSubcontractsMember_zH91agajtIc3" style="width: 12%; text-align: right" title="Revenue"&gt;16,963,874&lt;/td&gt;&lt;td style="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 id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__srt--ProductOrServiceAxis__custom--GovernmentSubcontractsMember_zqA8ca6gMa4" style="width: 12%; text-align: right" title="Revenue"&gt;16,502,026&lt;/td&gt;&lt;td style="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 id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630__srt--ProductOrServiceAxis__custom--GovernmentSubcontractsMember_zJaZqB41tEie" style="width: 12%; text-align: right" title="Revenue"&gt;31,965,642&lt;/td&gt;&lt;td style="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 id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__srt--ProductOrServiceAxis__custom--GovernmentSubcontractsMember_zpF7hAaQUVN6" style="width: 12%; text-align: right" title="Revenue"&gt;35,174,919&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Prime government contracts&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630__srt--ProductOrServiceAxis__custom--PrimeGovernmentContractsMember_zrJzGNAdK9v6" style="text-align: right" title="Revenue"&gt;2,601,347&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__srt--ProductOrServiceAxis__custom--PrimeGovernmentContractsMember_zy3NydqhNte2" style="text-align: right" title="Revenue"&gt;2,710,925&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630__srt--ProductOrServiceAxis__custom--PrimeGovernmentContractsMember_zCjHES41x8ca" style="text-align: right" title="Revenue"&gt;5,383,228&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__srt--ProductOrServiceAxis__custom--PrimeGovernmentContractsMember_zhdB6vfbC2fb" style="text-align: right" title="Revenue"&gt;4,118,959&lt;/td&gt;&lt;td style="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;Commercial contracts&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 id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630__srt--ProductOrServiceAxis__custom--CommercialContractsMember_zkqS7ea4ZpP" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"&gt;1,245,113&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__srt--ProductOrServiceAxis__custom--CommercialContractsMember_zUy9NP2utVpe" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"&gt;1,334,604&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630__srt--ProductOrServiceAxis__custom--CommercialContractsMember_zBchFxg9gomh" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"&gt;2,542,607&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__srt--ProductOrServiceAxis__custom--CommercialContractsMember_zkPTL6CTQ9Mc" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"&gt;3,270,345&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&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 id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630_zTaeiCyrSty9" style="border-bottom: Black 2.5pt double; text-align: right"&gt;20,810,334&lt;/td&gt;&lt;td style="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 id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630_zmWdSPZdmrD8" style="border-bottom: Black 2.5pt double; text-align: right"&gt;20,547,555&lt;/td&gt;&lt;td style="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 id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630_zXht3I28nWNh" style="border-bottom: Black 2.5pt double; text-align: right"&gt;39,891,477&lt;/td&gt;&lt;td style="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 id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630_zd0DfriCodZ1" style="border-bottom: Black 2.5pt double; text-align: right"&gt;42,564,223&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;p style="margin-top: 0; margin-bottom: 0"&gt;&#160;&lt;/p&gt;

&lt;p style="margin-top: 0; margin-bottom: 0"&gt;&lt;/p&gt;





&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Three months ended&lt;br/&gt; June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Six months ended&lt;br/&gt; June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&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: 40%; text-align: left"&gt;Revenue recognized using over time revenue recognition model&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 id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zrR6PoGSFfLe" style="width: 12%; text-align: right"&gt;20,596,186&lt;/td&gt;&lt;td style="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 id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zIT8PVETbA1h" style="width: 12%; text-align: right"&gt;18,669,843&lt;/td&gt;&lt;td style="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 id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zzqmhPIRZTHl" style="width: 12%; text-align: right"&gt;39,466,552&lt;/td&gt;&lt;td style="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 id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zXjYOXrafqeg" style="width: 12%; text-align: right"&gt;39,300,073&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Revenue recognized using point in time revenue recognition model&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 id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zWjKION34EWd" style="border-bottom: Black 1pt solid; text-align: right"&gt;214,148&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zdeyV5IDlwUc" style="border-bottom: Black 1pt solid; text-align: right"&gt;1,877,712&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zkoqkl9slWa4" style="border-bottom: Black 1pt solid; text-align: right"&gt;424,925&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_z2bB08FFed47" style="border-bottom: Black 1pt solid; text-align: right"&gt;3,264,150&lt;/td&gt;&lt;td style="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;&#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 id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630_zZ8Kv6tG2akh" style="border-bottom: Black 2.5pt double; text-align: right"&gt;20,810,334&lt;/td&gt;&lt;td style="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 id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630_zjOwwFmwo4F1" style="border-bottom: Black 2.5pt double; text-align: right"&gt;20,547,555&lt;/td&gt;&lt;td style="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 id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630_zL3Sfn6ynKWd" style="border-bottom: Black 2.5pt double; text-align: right"&gt;39,891,477&lt;/td&gt;&lt;td style="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 id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630_zh5LuEciEMdk" style="border-bottom: Black 2.5pt double; text-align: right"&gt;42,564,223&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;p id="xdx_8AD_zn2BqDuiw2A9" 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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;i&gt;Favorable/(Unfavorable)
Adjustments to Gross Profit &lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;We
review our Estimates at Completion (&#x201c;EAC&#x201d;) at least quarterly. Due to the nature of the work required to be performed
on many of the Company&#x2019;s performance obligations, the estimation of total revenue and cost at completion is complex, subject
to many inputs, and requires significant judgment by management on a contract-by-contract basis. As part of this process, management
reviews information including, but not limited to, any outstanding key contract matters, progress towards completion and the related
program schedule, identified risks and opportunities, and the related changes in estimates of revenues and costs. The risks and
opportunities relate to management&#x2019;s judgment about the ability and cost to achieve the schedule, consideration of customer-directed
delays or reductions in scheduled deliveries, technical requirements, customer activity levels, and related variable consideration.
Management must make assumptions and estimates regarding contract revenue and costs, including estimates of labor productivity
and availability, the complexity and scope of the work to be performed, the availability and cost of materials including any impact
from changing costs or inflation, the length of time to complete the performance obligation, the availability and timing of funding
from our customer, and overhead cost rates, among others.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Changes
in estimates of net sales, cost of sales, and the related impact to operating profit on contracts recognized over time are recognized
on a cumulative catch-up basis, which recognizes the cumulative effect of the profit changes on current and prior periods based
on a performance obligation&#x2019;s percentage-of-completion in the current period. A significant change in one or more of these
estimates could affect the profitability of one or more of our performance obligations. Our EAC adjustments also include the establishment
of, and changes to, loss provisions for our contracts accounted for on a percentage-of-completion basis.&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_899_ecustom--ScheduleOfEstimatesAtCompletionAdjustmentsTableTextBlock_zqUwFEWH7QY1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Net
EAC adjustments had the following impact on our gross profit during the six months ended June 30, 2024 and 2023:&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Six months ended&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;br/&gt; 2023&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-weight: bold"&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: 50%; text-align: left"&gt;Favorable adjustments&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 id="xdx_98B_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20240101__20240630__srt--CumulativeEffectPeriodOfAdoptionAxis__custom--FavorableAdjustmentMember_z9YLm0hkPDm8" style="width: 12%; text-align: right" title="Favorable adjustments"&gt;1,490,839&lt;/td&gt;&lt;td style="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 id="xdx_98F_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20230101__20230630__srt--CumulativeEffectPeriodOfAdoptionAxis__custom--FavorableAdjustmentMember_zgSUWGJD73pa" style="width: 12%; text-align: right" title="Favorable adjustments"&gt;1,913,135&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Unfavorable adjustments&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20240101__20240630__srt--CumulativeEffectPeriodOfAdoptionAxis__custom--UnfavorableAdjustmentMember_zy2r1iSfJKfe" style="border-bottom: Black 1pt solid; text-align: right" title="Unfavorable adjustments"&gt;(2,849,017&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"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20230101__20230630__srt--CumulativeEffectPeriodOfAdoptionAxis__custom--UnfavorableAdjustmentMember_zYyTxWV7RMpl" style="border-bottom: Black 1pt solid; text-align: right" title="Unfavorable adjustments"&gt;(2,189,848&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; 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;Net adjustments&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20240101__20240630_zfeOy1qQlTL8" style="border-bottom: Black 2.5pt double; text-align: right" title="Net adjustments"&gt;(1,358,178&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"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20230101__20230630_ztfYjmJgcNRh" style="border-bottom: Black 2.5pt double; text-align: right" title="Net adjustments"&gt;(276,713&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;p id="xdx_8AC_zrxdYQ9sk0Dg" 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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Transaction
Price Allocated to Remaining Performance Obligations&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
of June 30, 2024, the aggregate amount of transaction price allocated to the remaining performance obligations was approximately
$&lt;span id="xdx_90D_eus-gaap--RevenueRemainingPerformanceObligation_iI_pn5n6_c20240630_z6iyFkAifCO" title="Remaining performance obligations"&gt;87.0&lt;/span&gt; million. This represents the amount of revenue the Company expects to recognize in the future on contracts with unsatisfied
or partially satisfied performance obligations as of June 30, 2024.&lt;/span&gt;&lt;/p&gt;

</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock contextRef="From2024-01-01to2024-06-30" id="Fact000469">&lt;p id="xdx_894_eus-gaap--DisaggregationOfRevenueTableTextBlock_zzFYFTAEhci8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following tables present the Company&#x2019;s revenue disaggregated by contract type and revenue recognition method:&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Three months ended&lt;br/&gt; June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Six months ended&lt;br/&gt; June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&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: 40%; text-align: left"&gt;Government subcontracts&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 id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630__srt--ProductOrServiceAxis__custom--GovernmentSubcontractsMember_zH91agajtIc3" style="width: 12%; text-align: right" title="Revenue"&gt;16,963,874&lt;/td&gt;&lt;td style="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 id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__srt--ProductOrServiceAxis__custom--GovernmentSubcontractsMember_zqA8ca6gMa4" style="width: 12%; text-align: right" title="Revenue"&gt;16,502,026&lt;/td&gt;&lt;td style="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 id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630__srt--ProductOrServiceAxis__custom--GovernmentSubcontractsMember_zJaZqB41tEie" style="width: 12%; text-align: right" title="Revenue"&gt;31,965,642&lt;/td&gt;&lt;td style="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 id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__srt--ProductOrServiceAxis__custom--GovernmentSubcontractsMember_zpF7hAaQUVN6" style="width: 12%; text-align: right" title="Revenue"&gt;35,174,919&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Prime government contracts&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630__srt--ProductOrServiceAxis__custom--PrimeGovernmentContractsMember_zrJzGNAdK9v6" style="text-align: right" title="Revenue"&gt;2,601,347&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__srt--ProductOrServiceAxis__custom--PrimeGovernmentContractsMember_zy3NydqhNte2" style="text-align: right" title="Revenue"&gt;2,710,925&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630__srt--ProductOrServiceAxis__custom--PrimeGovernmentContractsMember_zCjHES41x8ca" style="text-align: right" title="Revenue"&gt;5,383,228&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__srt--ProductOrServiceAxis__custom--PrimeGovernmentContractsMember_zhdB6vfbC2fb" style="text-align: right" title="Revenue"&gt;4,118,959&lt;/td&gt;&lt;td style="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;Commercial contracts&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 id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630__srt--ProductOrServiceAxis__custom--CommercialContractsMember_zkqS7ea4ZpP" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"&gt;1,245,113&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__srt--ProductOrServiceAxis__custom--CommercialContractsMember_zUy9NP2utVpe" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"&gt;1,334,604&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630__srt--ProductOrServiceAxis__custom--CommercialContractsMember_zBchFxg9gomh" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"&gt;2,542,607&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__srt--ProductOrServiceAxis__custom--CommercialContractsMember_zkPTL6CTQ9Mc" style="border-bottom: Black 1pt solid; text-align: right" title="Revenue"&gt;3,270,345&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&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 id="xdx_989_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630_zTaeiCyrSty9" style="border-bottom: Black 2.5pt double; text-align: right"&gt;20,810,334&lt;/td&gt;&lt;td style="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 id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630_zmWdSPZdmrD8" style="border-bottom: Black 2.5pt double; text-align: right"&gt;20,547,555&lt;/td&gt;&lt;td style="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 id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630_zXht3I28nWNh" style="border-bottom: Black 2.5pt double; text-align: right"&gt;39,891,477&lt;/td&gt;&lt;td style="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 id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630_zd0DfriCodZ1" style="border-bottom: Black 2.5pt double; text-align: right"&gt;42,564,223&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;p style="margin-top: 0; margin-bottom: 0"&gt;&#160;&lt;/p&gt;

&lt;p style="margin-top: 0; margin-bottom: 0"&gt;&lt;/p&gt;





&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Three months ended&lt;br/&gt; June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Six months ended&lt;br/&gt; June 30,&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&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: 40%; text-align: left"&gt;Revenue recognized using over time revenue recognition model&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 id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zrR6PoGSFfLe" style="width: 12%; text-align: right"&gt;20,596,186&lt;/td&gt;&lt;td style="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 id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zIT8PVETbA1h" style="width: 12%; text-align: right"&gt;18,669,843&lt;/td&gt;&lt;td style="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 id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zzqmhPIRZTHl" style="width: 12%; text-align: right"&gt;39,466,552&lt;/td&gt;&lt;td style="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 id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zXjYOXrafqeg" style="width: 12%; text-align: right"&gt;39,300,073&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Revenue recognized using point in time revenue recognition model&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 id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zWjKION34EWd" style="border-bottom: Black 1pt solid; text-align: right"&gt;214,148&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zdeyV5IDlwUc" style="border-bottom: Black 1pt solid; text-align: right"&gt;1,877,712&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zkoqkl9slWa4" style="border-bottom: Black 1pt solid; text-align: right"&gt;424,925&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_z2bB08FFed47" style="border-bottom: Black 1pt solid; text-align: right"&gt;3,264,150&lt;/td&gt;&lt;td style="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;&#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 id="xdx_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240401__20240630_zZ8Kv6tG2akh" style="border-bottom: Black 2.5pt double; text-align: right"&gt;20,810,334&lt;/td&gt;&lt;td style="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 id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630_zjOwwFmwo4F1" style="border-bottom: Black 2.5pt double; text-align: right"&gt;20,547,555&lt;/td&gt;&lt;td style="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 id="xdx_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20240101__20240630_zL3Sfn6ynKWd" style="border-bottom: Black 2.5pt double; text-align: right"&gt;39,891,477&lt;/td&gt;&lt;td style="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 id="xdx_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630_zh5LuEciEMdk" style="border-bottom: Black 2.5pt double; text-align: right"&gt;42,564,223&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-04-012024-06-30_custom_GovernmentSubcontractsMember"
      decimals="0"
      id="Fact000471"
      unitRef="USD">16963874</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-04-012023-06-30_custom_GovernmentSubcontractsMember"
      decimals="0"
      id="Fact000473"
      unitRef="USD">16502026</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-06-30_custom_GovernmentSubcontractsMember"
      decimals="0"
      id="Fact000475"
      unitRef="USD">31965642</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-06-30_custom_GovernmentSubcontractsMember"
      decimals="0"
      id="Fact000477"
      unitRef="USD">35174919</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-04-012024-06-30_custom_PrimeGovernmentContractsMember"
      decimals="0"
      id="Fact000479"
      unitRef="USD">2601347</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-04-012023-06-30_custom_PrimeGovernmentContractsMember"
      decimals="0"
      id="Fact000481"
      unitRef="USD">2710925</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-06-30_custom_PrimeGovernmentContractsMember"
      decimals="0"
      id="Fact000483"
      unitRef="USD">5383228</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-06-30_custom_PrimeGovernmentContractsMember"
      decimals="0"
      id="Fact000485"
      unitRef="USD">4118959</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-04-012024-06-30_custom_CommercialContractsMember"
      decimals="0"
      id="Fact000487"
      unitRef="USD">1245113</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-04-012023-06-30_custom_CommercialContractsMember"
      decimals="0"
      id="Fact000489"
      unitRef="USD">1334604</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-06-30_custom_CommercialContractsMember"
      decimals="0"
      id="Fact000491"
      unitRef="USD">2542607</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-06-30_custom_CommercialContractsMember"
      decimals="0"
      id="Fact000493"
      unitRef="USD">3270345</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-04-012024-06-30"
      decimals="0"
      id="Fact000494"
      unitRef="USD">20810334</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      id="Fact000495"
      unitRef="USD">20547555</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000496"
      unitRef="USD">39891477</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000497"
      unitRef="USD">42564223</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-04-012024-06-30_us-gaap_TransferredOverTimeMember"
      decimals="0"
      id="Fact000499"
      unitRef="USD">20596186</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-04-012023-06-30_us-gaap_TransferredOverTimeMember"
      decimals="0"
      id="Fact000500"
      unitRef="USD">18669843</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-06-30_us-gaap_TransferredOverTimeMember"
      decimals="0"
      id="Fact000501"
      unitRef="USD">39466552</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-06-30_us-gaap_TransferredOverTimeMember"
      decimals="0"
      id="Fact000502"
      unitRef="USD">39300073</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-04-012024-06-30_us-gaap_TransferredAtPointInTimeMember"
      decimals="0"
      id="Fact000503"
      unitRef="USD">214148</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-04-012023-06-30_us-gaap_TransferredAtPointInTimeMember"
      decimals="0"
      id="Fact000504"
      unitRef="USD">1877712</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-06-30_us-gaap_TransferredAtPointInTimeMember"
      decimals="0"
      id="Fact000505"
      unitRef="USD">424925</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-06-30_us-gaap_TransferredAtPointInTimeMember"
      decimals="0"
      id="Fact000506"
      unitRef="USD">3264150</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-04-012024-06-30"
      decimals="0"
      id="Fact000507"
      unitRef="USD">20810334</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      id="Fact000508"
      unitRef="USD">20547555</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000509"
      unitRef="USD">39891477</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000510"
      unitRef="USD">42564223</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <cvu:ScheduleOfEstimatesAtCompletionAdjustmentsTableTextBlock contextRef="From2024-01-01to2024-06-30" id="Fact000512">&lt;p id="xdx_899_ecustom--ScheduleOfEstimatesAtCompletionAdjustmentsTableTextBlock_zqUwFEWH7QY1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Net
EAC adjustments had the following impact on our gross profit during the six months ended June 30, 2024 and 2023:&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Six months ended&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;br/&gt; 2023&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; font-weight: bold"&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: 50%; text-align: left"&gt;Favorable adjustments&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 id="xdx_98B_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20240101__20240630__srt--CumulativeEffectPeriodOfAdoptionAxis__custom--FavorableAdjustmentMember_z9YLm0hkPDm8" style="width: 12%; text-align: right" title="Favorable adjustments"&gt;1,490,839&lt;/td&gt;&lt;td style="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 id="xdx_98F_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20230101__20230630__srt--CumulativeEffectPeriodOfAdoptionAxis__custom--FavorableAdjustmentMember_zgSUWGJD73pa" style="width: 12%; text-align: right" title="Favorable adjustments"&gt;1,913,135&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Unfavorable adjustments&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20240101__20240630__srt--CumulativeEffectPeriodOfAdoptionAxis__custom--UnfavorableAdjustmentMember_zy2r1iSfJKfe" style="border-bottom: Black 1pt solid; text-align: right" title="Unfavorable adjustments"&gt;(2,849,017&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"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20230101__20230630__srt--CumulativeEffectPeriodOfAdoptionAxis__custom--UnfavorableAdjustmentMember_zYyTxWV7RMpl" style="border-bottom: Black 1pt solid; text-align: right" title="Unfavorable adjustments"&gt;(2,189,848&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; 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;Net adjustments&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20240101__20240630_zfeOy1qQlTL8" style="border-bottom: Black 2.5pt double; text-align: right" title="Net adjustments"&gt;(1,358,178&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"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_ecustom--EstimatesAtCompletionAdjustmentToGrossProfit_c20230101__20230630_ztfYjmJgcNRh" style="border-bottom: Black 2.5pt double; text-align: right" title="Net adjustments"&gt;(276,713&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

</cvu:ScheduleOfEstimatesAtCompletionAdjustmentsTableTextBlock>
    <cvu:EstimatesAtCompletionAdjustmentToGrossProfit
      contextRef="From2024-01-012024-06-30_custom_FavorableAdjustmentMember"
      decimals="0"
      id="Fact000514"
      unitRef="USD">1490839</cvu:EstimatesAtCompletionAdjustmentToGrossProfit>
    <cvu:EstimatesAtCompletionAdjustmentToGrossProfit
      contextRef="From2023-01-012023-06-30_custom_FavorableAdjustmentMember"
      decimals="0"
      id="Fact000516"
      unitRef="USD">1913135</cvu:EstimatesAtCompletionAdjustmentToGrossProfit>
    <cvu:EstimatesAtCompletionAdjustmentToGrossProfit
      contextRef="From2024-01-012024-06-30_custom_UnfavorableAdjustmentMember"
      decimals="0"
      id="Fact000518"
      unitRef="USD">-2849017</cvu:EstimatesAtCompletionAdjustmentToGrossProfit>
    <cvu:EstimatesAtCompletionAdjustmentToGrossProfit
      contextRef="From2023-01-012023-06-30_custom_UnfavorableAdjustmentMember"
      decimals="0"
      id="Fact000520"
      unitRef="USD">-2189848</cvu:EstimatesAtCompletionAdjustmentToGrossProfit>
    <cvu:EstimatesAtCompletionAdjustmentToGrossProfit
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000522"
      unitRef="USD">-1358178</cvu:EstimatesAtCompletionAdjustmentToGrossProfit>
    <cvu:EstimatesAtCompletionAdjustmentToGrossProfit
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000524"
      unitRef="USD">-276713</cvu:EstimatesAtCompletionAdjustmentToGrossProfit>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="AsOf2024-06-30"
      decimals="-5"
      id="Fact000526"
      unitRef="USD">87000000.0</us-gaap:RevenueRemainingPerformanceObligation>
    <cvu:ContractWithCustomerAssetAndLiabilityTextBlock contextRef="From2024-01-01to2024-06-30" id="Fact000528">&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"&gt;&lt;b&gt;3.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"&gt;&lt;b&gt;&lt;span id="xdx_82A_zbpmTvTm6hRf"&gt;CONTRACT
    ASSETS AND LIABILITIES&lt;/span&gt;&lt;/b&gt;&lt;/span&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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Contract
assets represent revenue recognized on contracts in excess of amounts invoiced to the customers and the Company&#x2019;s right
to consideration is conditional on something other than the passage of time. Amounts may not exceed their net realizable value.
Under the typical payment terms of our government as well as military contractor contracts, the customer retains a portion of
the contract price until completion of the contract, as a measure of protection for the customer. Our government and military
contractor contracts therefore typically result in revenue recognized in excess of billings, which we present as contract assets.
Contract assets are classified as current assets. The Company&#x2019;s contract liabilities represent customer payments received
or due from the customer in excess of revenue recognized. Contract liabilities are classified as current liabilities.&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_892_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_z6K2XTXHpErl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="display: none; visibility: hidden; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B9_z3W71c8rA8Ll"&gt;Schedule of contract assets and liabilities&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" id="xdx_30B_134_zryApOrgqaZd" style="font: 10pt Times New Roman, Times, Serif; width: 80%; border-collapse: collapse" summary="xdx: Disclosure - Schedule of Contract liabilities are classified as current liabilities (Details)"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20240630_zKba01UBnMx9" style="border-bottom: black 1pt solid"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;June
30,&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2024&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20231231_z0gnuge83NN5" style="border-bottom: black 1pt solid"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;December
31,&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_403_eus-gaap--ContractWithCustomerAssetNet_iI_maNCAz5zf_z0u83ePfyhpb" style="background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; width: 46%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Contract
    assets&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: top; width: 14%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;34,183,988&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: top; width: 14%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;35,312,068&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_403_eus-gaap--ContractWithCustomerLiability_iI_msNCAz5zf_zxC03RkHEJr4" style="background-color: White"&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Contract liabilities&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2,482,535&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;5,937,629&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p id="xdx_8AE_zR614hN7yVhc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font: 10pt Times New Roman, Times, Serif"&gt;Revenue
recognized for the six months ended June 30, 2024 and 2023 that was included in the contract liabilities balance as of January&#160;1,
2024 and 2023, respectively, was approximately $&lt;span id="xdx_900_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pn5n6_c20240101__20240630_zrVV12SlGPh5" title="Revenue recognized that was included in contract liabilities"&gt;4.1&lt;/span&gt; million and $&lt;span id="xdx_90A_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pn5n6_c20230101__20230630_zPoFFaRdwhO9" title="Revenue recognized that was included in contract liabilities"&gt;1.9&lt;/span&gt; million, respectively.&lt;/span&gt;&lt;/p&gt;

</cvu:ContractWithCustomerAssetAndLiabilityTextBlock>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock contextRef="From2024-01-01to2024-06-30" id="Fact000530">&lt;p id="xdx_892_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_z6K2XTXHpErl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="display: none; visibility: hidden; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B9_z3W71c8rA8Ll"&gt;Schedule of contract assets and liabilities&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" id="xdx_30B_134_zryApOrgqaZd" style="font: 10pt Times New Roman, Times, Serif; width: 80%; border-collapse: collapse" summary="xdx: Disclosure - Schedule of Contract liabilities are classified as current liabilities (Details)"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20240630_zKba01UBnMx9" style="border-bottom: black 1pt solid"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;June
30,&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2024&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20231231_z0gnuge83NN5" style="border-bottom: black 1pt solid"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;December
31,&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_403_eus-gaap--ContractWithCustomerAssetNet_iI_maNCAz5zf_z0u83ePfyhpb" style="background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; width: 46%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Contract
    assets&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: top; width: 14%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;34,183,988&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: top; width: 14%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;35,312,068&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_403_eus-gaap--ContractWithCustomerLiability_iI_msNCAz5zf_zxC03RkHEJr4" style="background-color: White"&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Contract liabilities&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2,482,535&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;5,937,629&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000532"
      unitRef="USD">34183988</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000533"
      unitRef="USD">35312068</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerLiability
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000535"
      unitRef="USD">2482535</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000536"
      unitRef="USD">5937629</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="From2024-01-01to2024-06-30"
      decimals="-5"
      id="Fact000538"
      unitRef="USD">4100000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="From2023-01-012023-06-30"
      decimals="-5"
      id="Fact000540"
      unitRef="USD">1900000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:InventoryDisclosureTextBlock contextRef="From2024-01-01to2024-06-30" id="Fact000542">&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;4.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"&gt;&lt;b&gt;&lt;span id="xdx_826_zOHrDObcDGm2"&gt;INVENTORY&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p id="xdx_890_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zI5Th5GmzpJg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
components of inventory consisted of the following:&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 80%; border-collapse: collapse"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20240630_zT6W0z9FlNIe" style="border-bottom: black 1pt solid"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;June
30,&#160;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2024&#160;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20231231_zJ8gannY4xFj" style="border-bottom: black 1pt solid"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;December
31,&#160;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2023&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_400_eus-gaap--InventoryRawMaterials_iI_maINzyi6_z8aYJnAyaoCf" style="background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; width: 46%; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Raw
    materials&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: top; width: 14%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;537,216&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: top; width: 14%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;648,264&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_401_eus-gaap--InventoryWorkInProcess_iI_maINzyi6_zFHULIMbQaAh" style="background-color: White"&gt;
    &lt;td style="vertical-align: bottom; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Work
    in progress&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;91,680&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;75,795&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_405_eus-gaap--InventoryFinishedGoods_iI_maINzyi6_zeBtlooqIDG" style="background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Finished
    goods&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;503,624&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;712,588&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40A_eus-gaap--InventoryNet_iTI_mtINzyi6_zuK9OOmlXy3a" style="background-color: White"&gt;
    &lt;td style="vertical-align: bottom; text-align: justify; padding-left: 0.125in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Inventory,
    net&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;1,132,520&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: bottom; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;1,436,647&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p id="xdx_8AA_z3782Kve7CYg" style="margin-top: 0; margin-bottom: 0"&gt;&#160;&lt;/p&gt;

</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="From2024-01-01to2024-06-30" id="Fact000544">&lt;p id="xdx_890_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zI5Th5GmzpJg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
components of inventory consisted of the following:&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 80%; border-collapse: collapse"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20240630_zT6W0z9FlNIe" style="border-bottom: black 1pt solid"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;June
30,&#160;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2024&#160;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20231231_zJ8gannY4xFj" style="border-bottom: black 1pt solid"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;December
31,&#160;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
        &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2023&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_400_eus-gaap--InventoryRawMaterials_iI_maINzyi6_z8aYJnAyaoCf" style="background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; width: 46%; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Raw
    materials&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: top; width: 14%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;537,216&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: top; width: 14%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;648,264&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_401_eus-gaap--InventoryWorkInProcess_iI_maINzyi6_zFHULIMbQaAh" style="background-color: White"&gt;
    &lt;td style="vertical-align: bottom; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Work
    in progress&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;91,680&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;75,795&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_405_eus-gaap--InventoryFinishedGoods_iI_maINzyi6_zeBtlooqIDG" style="background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Finished
    goods&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;503,624&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;712,588&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40A_eus-gaap--InventoryNet_iTI_mtINzyi6_zuK9OOmlXy3a" style="background-color: White"&gt;
    &lt;td style="vertical-align: bottom; text-align: justify; padding-left: 0.125in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Inventory,
    net&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;1,132,520&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: bottom; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;1,436,647&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterials
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000546"
      unitRef="USD">537216</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000547"
      unitRef="USD">648264</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryWorkInProcess
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000549"
      unitRef="USD">91680</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryWorkInProcess
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000550"
      unitRef="USD">75795</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryFinishedGoods
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000552"
      unitRef="USD">503624</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000553"
      unitRef="USD">712588</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryNet
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000555"
      unitRef="USD">1132520</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000556"
      unitRef="USD">1436647</us-gaap:InventoryNet>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="From2024-01-01to2024-06-30" id="Fact000558">&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;5.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"&gt;&lt;b&gt;&lt;span id="xdx_82A_zlvdCaFpRErh"&gt;STOCK-BASED
    COMPENSATION&lt;/span&gt;&lt;/b&gt;&lt;/span&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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
2009, the Company adopted the Performance Equity Plan 2009 (the &#x201c;2009 Plan&#x201d;). The 2009 Plan reserved &lt;span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_c20091231__us-gaap--PlanNameAxis__custom--PerformanceEquityPlan2009Member_zkqSDcBabaV1" title="Shahes reserved for issuance"&gt;500,000&lt;/span&gt; common shares for issuance. The 2009 Plan provides for the issuance of either incentive stock options or nonqualified stock options to
employees, consultants or others who provide services to the Company. The Company has &lt;span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_iI_c20240630__us-gaap--PlanNameAxis__custom--PerformanceEquityPlan2009Member_zEsneLtulGOb" title="Shares available for grant"&gt;2,364&lt;/span&gt;&#160;shares available for grant under
the 2009 Plan as of June 30, 2024.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
2016, the Company adopted the 2016 Long Term Incentive Plan (the &#x201c;2016 Plan&#x201d;). The 2016 Plan reserved&#160;&lt;span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_c20161231__us-gaap--PlanNameAxis__custom--LTIP2016Member_ztnadXzbXKSf"&gt;600,000&lt;/span&gt;&#160;common
shares for issuance, provided that no more than &lt;span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_c20161231__us-gaap--PlanNameAxis__custom--LTIP2016Member__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zvZRuy6Rev25"&gt;200,000&lt;/span&gt; common shares be granted as incentive stock options. Awards may be made
or granted to employees, officers, directors and consultants in the form of incentive stock options, non-qualified stock options,
stock appreciation rights, restricted stock, restricted stock units and other stock-based awards. Any shares of common stock granted
in connection with awards other than stock options and stock appreciation rights are counted against the number of shares reserved
for issuance under the 2016 Plan as one and one-half shares of common stock for every one share of common stock granted in connection
with such award. Any shares of common stock granted in connection with stock options and stock appreciation rights are counted
against the number of shares reserved for issuance under the 2016 Plan as one share for every one share of common stock issuable
upon the exercise of such stock option or stock appreciation right awarded. In the fourth quarter of 2020, the Company added &lt;span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized_c20201001__20201231__us-gaap--PlanNameAxis__custom--LTIP2016Member_zfl6mSRBGOW7" title="Increase in number of shares reserved for issuance"&gt;800,000&lt;/span&gt;
shares to the 2016 Plan, which increased the number of shares reserved for issuance under the 2016 Plan to &lt;span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_c20201231__us-gaap--PlanNameAxis__custom--LTIP2016Member_zi6d2FgiEp1d"&gt;1,400,000&lt;/span&gt; shares. In
the second quarter of 2023, the Company added an additional &lt;span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized_c20230401__20230630__us-gaap--PlanNameAxis__custom--LTIP2016Member_zb5BDpIL1V5k"&gt;800,000&lt;/span&gt; shares to the 2016 Plan, which increased the number of shares
for reserved for issuance under the 2016 Plan to &lt;span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_iI_c20230630__us-gaap--PlanNameAxis__custom--LTIP2016Member_ziTUKHGUZm1b" title="Shares reserved for issuance"&gt;2,200,000&lt;/span&gt; shares. The Company has &lt;span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_iI_c20240630__us-gaap--PlanNameAxis__custom--LTIP2016Member_z5F79xiT2OZb"&gt;331,912&lt;/span&gt; shares available for grant under the
2016 Plan as of June 30, 2024.&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_891_eus-gaap--ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_zGn5rpIooxZ3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;Stock-based
compensation expense for restricted stock in the consolidated statements of operations is summarized as follows:&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
&lt;tr style="display: none; visibility: hidden; background-color: White"&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_491_20240401__20240630_zb9WdUnm6YAd" style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_492_20230401__20230630_zmfkDGSCkGg4" style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_49A_20240101__20240630_zfPfFPpCbQaa" style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_491_20230101__20230630_zIF232H0jeXd" style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Three
    months ended&lt;/b&gt;&lt;br/&gt;
    &lt;b&gt;June 30,&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Six
    months ended&lt;/b&gt;&lt;br/&gt;
    &lt;b&gt;June 30,&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2024&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2024&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40F_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--CostOfSalesMember_z9RnM3TvESS3" style="background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; width: 40%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Cost
    of sales&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: top; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0575"&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: top; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;37,171&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: top; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(10,755&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: top; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;52,248&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_401_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--SellingGeneralAndAdministrativeExpensesMember_z9kePSkySZq" style="background-color: White"&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Selling,
    general and administrative&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;175,536&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;143,045&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;467,813&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;466,891&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40A_eus-gaap--AllocatedShareBasedCompensationExpense_zR8qgxWMDpoe" style="background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;Total stock-based
    compensation expense&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;175,536&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;180,216&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;457,058&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;519,139&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p id="xdx_8A6_zCF0mIn08Nuc" 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;/p&gt;





&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;The
Company grants restricted stock units (&#x201c;RSUs&#x201d;) to its board of directors as partial compensation. These RSUs vest
quarterly on a straight-line basis over a &lt;span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_dxL_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zV93bLWr7oL1" title="Vesting period::XDX::P1Y"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0591"&gt;one-year&lt;/span&gt;&lt;/span&gt; period.&lt;/span&gt; &lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;At
June 30, 2024, the weighted average remaining amortization period was &lt;span id="xdx_908_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dt_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z6mob7tfpYYd" title="Weighted average remaining amortization period"&gt;six months&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_89B_eus-gaap--ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_zutusuLeDh03" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes activity related to outstanding RSUs for the six months ended June 30, 2024:&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 60%"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;RSUs&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&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; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Weighted Average&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Grant Date&lt;/b&gt;&#160;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Fair Value of&lt;/b&gt;&#160;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;RSUs&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Non-vested &#x2013; January 1, 2024 &lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iS_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zskxuSJNc56e" style="text-align: right" title="Non vested January 1, 2024"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0597"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zqU5lRwfAhs4" style="text-align: right" title="Non vested January 1, 2024"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0599"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 30%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Granted &lt;/span&gt;&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 id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zrt4ryaLwpl1" style="width: 12%; text-align: right" title="Granted"&gt;181,323&lt;/td&gt;&lt;td style="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 id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zllch5iY4hqc" style="width: 12%; text-align: right" title="Granted"&gt;2.45&lt;/td&gt;&lt;td style="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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Vested &lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z19MbzxT8r85" style="text-align: right" title="Vested"&gt;(90,660&lt;/td&gt;&lt;td style="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 id="xdx_989_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zw2LXOtBqP55" style="text-align: right" title="Vested"&gt;2.45&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Forfeited &lt;/span&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 id="xdx_985_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z6tXBsWIu0f1" style="border-bottom: Black 1pt solid; text-align: right" title="Forfeited"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0609"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zXjZc01zUQ1" style="border-bottom: Black 1pt solid; text-align: right" title="Forfeited"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0611"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="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"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Non-vested &#x2013; June 30, 2024 &lt;/span&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;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iE_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zZKE9YGev1Cb" style="border-bottom: Black 2.5pt double; text-align: right" title="Non vested June 30, 2024"&gt;90,663&lt;/td&gt;&lt;td style="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 id="xdx_985_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zJ3FvIOoMyw1" style="border-bottom: Black 2.5pt double; text-align: right" title="Non vested June 30, 2024"&gt;2.45&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;p id="xdx_8AF_zXqQrBrTd1mf" 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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;The
Company grants&#160;shares of common stock (&#x201c;Restricted Stock Awards&#x201d; or &#x201c;RSAs&#x201d;) to select employees.
These shares have various vesting dates, ranging from vesting on the grant date to as late as &lt;span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_dt_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember__srt--RangeAxis__srt--MaximumMember_zc0reXGYSq8i"&gt;four years&lt;/span&gt; from the date of grant.
In the event that the employee&#x2019;s employment is voluntarily terminated prior to certain vesting dates, portions of the shares
may be forfeited. &lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;At June 30, 2024, the weighted
average remaining amortization period was &lt;span id="xdx_90B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zIQP2frc1aQ4" title="Weighted average remaining amortization period"&gt;3&lt;/span&gt; years.&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_898_eus-gaap--ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock_z8AxhSup2Ecf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes activity related to outstanding Restricted Stock Awards for the six months ended June 30, 2024:&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 60%"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Restricted&lt;/p&gt;
                                                                                &lt;p style="margin-top: 0; margin-bottom: 0"&gt;Stock Awards&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&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; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Weighted Average&lt;/b&gt;&#160;&#160;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Grant Date&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Fair Value of&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Restricted Stock&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Awards&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&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: 30%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Non-vested &#x2013; January 1, 2024 &lt;/span&gt;&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 id="xdx_98D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iS_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zjzX9F5mp0jh" style="width: 12%; text-align: right" title="Non vested January 1, 2024"&gt;167,071&lt;/td&gt;&lt;td style="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 id="xdx_988_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_ziKZ1mho6F92" style="width: 12%; text-align: right" title="Non vested January 1, 2024"&gt;3.25&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Granted &lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zguxEhLygzze" style="text-align: right" title="Granted"&gt;87,604&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zpZxFjJSZq7a" style="text-align: right" title="Granted"&gt;2.33&lt;/td&gt;&lt;td style="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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Vested &lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_ziRglwZYyjlk" style="text-align: right" title="Vested"&gt;(58,587&lt;/td&gt;&lt;td style="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 id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zczuJq9ODd9c" style="text-align: right" title="Vested"&gt;3.18&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Forfeited &lt;/span&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 id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zDMjV6kJrrE" style="border-bottom: Black 1pt solid; text-align: right" title="Forfeited"&gt;(12,572&lt;/td&gt;&lt;td style="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;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zPDJRlgjgPxa" style="border-bottom: Black 1pt solid; text-align: right" title="Forfeited"&gt;3.03&lt;/td&gt;&lt;td style="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"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Non-vested &#x2013; June 30, 2024 &lt;/span&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;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iE_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_z65qMpPIaG69" style="border-bottom: Black 2.5pt double; text-align: right" title="Non vested June 30, 2024"&gt;183,516&lt;/td&gt;&lt;td style="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 id="xdx_98A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zRYsGv6flA2e" style="border-bottom: Black 2.5pt double; text-align: right" title="Non vested June 30, 2024"&gt;2.84&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;p id="xdx_8A7_zCZsuU9pCz97" 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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company grants shares of common stock (&#x201c;Performance Restricted Stock Awards&#x201d; or &#x201c;PRSAs&#x201d;) to select officers
as part of our long-term incentive program that will result in that number of PRSAs being paid out if the target performance metric
is achieved. The award vesting is based on specific performance metrics related to accounts payable delinquency, debt, and net
income during the performance period. The PRSAs vest at &lt;span id="xdx_90A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_dp_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember__us-gaap--VestingAxis__us-gaap--ShareBasedCompensationAwardTrancheOneMember_zJN12GYg5xzg" title="Vesting percentage"&gt;0&lt;/span&gt;% or &lt;span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_dp_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember__us-gaap--VestingAxis__us-gaap--ShareBasedCompensationAwardTrancheTwoMember_zTqB148EdT8e" title="Vesting percentage"&gt;100&lt;/span&gt;% and all three metrics must be met to vest at &lt;span id="xdx_904_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_dp_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember__us-gaap--VestingAxis__us-gaap--ShareBasedCompensationAwardTrancheTwoMember_z5tnMXmUI6g4" title="Vesting percentage"&gt;100&lt;/span&gt;%. The PRSAs
granted under this program will vest on the fourth anniversary of the grant date, subject to the aforementioned performance criteria.
At June 30, 2024, the weighted average remaining amortization period was &lt;span id="xdx_90F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zJYYgXhUJM0h" title="Weighted average remaining amortization period"&gt;2.7&lt;/span&gt; years.&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_892_eus-gaap--ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock_zEd0L7ZJQgXk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes activity related to outstanding PRSAs for the six months ended June 30, 2024:&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 60%"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;PRSAs&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&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; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Weighted
Average&lt;/b&gt;&#160;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Grant
Date&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Fair
Value of&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;PRSAs&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&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: 30%"&gt;Non-vested &#x2013; January 1, 2024&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 id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iS_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zeh892HdjgPf" style="width: 12%; text-align: right" title="Non vested January 1, 2024"&gt;48,050&lt;/td&gt;&lt;td style="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 id="xdx_988_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_z5daompbEpL7" style="width: 12%; text-align: right" title="Non vested January 1, 2024"&gt;3.27&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&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 id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zbK57BLzMMw8" style="text-align: right" title="Granted"&gt;64,611&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_z9eYck8ak7Ul" style="text-align: right" title="Granted"&gt;2.91&lt;/td&gt;&lt;td style="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 id="xdx_98F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_z7CePIOxPLM9" style="text-align: right" title="Vested"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0660"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zE7mtJUnu8Oc" style="text-align: right" title="Vested"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0662"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Forfeited&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 id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_z1U16K9RADha" style="border-bottom: Black 1pt solid; text-align: right" title="Forfeited"&gt;(49,295&lt;/td&gt;&lt;td style="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;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zQbI1zdLDMog" style="border-bottom: Black 1pt solid; text-align: right" title="Forfeited"&gt;3.23&lt;/td&gt;&lt;td style="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;Non-vested &#x2013; June 30, 2024&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 id="xdx_985_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iE_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zIpFDGhT77j8" style="border-bottom: Black 2.5pt double; text-align: right" title="Non vested June 30, 2024"&gt;63,366&lt;/td&gt;&lt;td style="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 id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zPpxdoF0XPre" style="border-bottom: Black 2.5pt double; text-align: right" title="Non vested June 30, 2024"&gt;2.93&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;p id="xdx_8A4_zV6ceVxf7H0g" 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;/p&gt;





&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;The
fair value of all RSUs, PRSAs and RSAs is based on the closing price of our common stock on the grant date. All RSUs, PRSAs, and
Restricted Stock Awards vest and settle in common stock (on a one-for-one basis).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;As
of June 30, 2024, unamortized stock-based compensation costs related to restricted share arrangements was $&lt;span id="xdx_900_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_iI_c20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_za2EJp9RVWVc" title="Unamortized stock-based compensation costs"&gt;482,781&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;.&lt;/span&gt;&lt;/p&gt;

</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="AsOf2009-12-31_custom_PerformanceEquityPlan2009Member"
      decimals="INF"
      id="Fact000560"
      unitRef="Shares">500000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="AsOf2024-06-30_custom_PerformanceEquityPlan2009Member"
      decimals="INF"
      id="Fact000562"
      unitRef="Shares">2364</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="AsOf2016-12-31_custom_LTIP2016Member"
      decimals="INF"
      id="Fact000563"
      unitRef="Shares">600000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="AsOf2016-12-31_custom_LTIP2016Member_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact000564"
      unitRef="Shares">200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized
      contextRef="From2020-10-012020-12-31_custom_LTIP2016Member"
      decimals="INF"
      id="Fact000566"
      unitRef="Shares">800000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="AsOf2020-12-31_custom_LTIP2016Member"
      decimals="INF"
      id="Fact000567"
      unitRef="Shares">1400000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized
      contextRef="From2023-04-012023-06-30_custom_LTIP2016Member"
      decimals="INF"
      id="Fact000568"
      unitRef="Shares">800000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="AsOf2023-06-30_custom_LTIP2016Member"
      decimals="INF"
      id="Fact000570"
      unitRef="Shares">2200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="AsOf2024-06-30_custom_LTIP2016Member"
      decimals="INF"
      id="Fact000571"
      unitRef="Shares">331912</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock contextRef="From2024-01-01to2024-06-30" id="Fact000573">&lt;p id="xdx_891_eus-gaap--ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_zGn5rpIooxZ3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;Stock-based
compensation expense for restricted stock in the consolidated statements of operations is summarized as follows:&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
&lt;tr style="display: none; visibility: hidden; background-color: White"&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_491_20240401__20240630_zb9WdUnm6YAd" style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_492_20230401__20230630_zmfkDGSCkGg4" style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_49A_20240101__20240630_zfPfFPpCbQaa" style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_491_20230101__20230630_zIF232H0jeXd" style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Three
    months ended&lt;/b&gt;&lt;br/&gt;
    &lt;b&gt;June 30,&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Six
    months ended&lt;/b&gt;&lt;br/&gt;
    &lt;b&gt;June 30,&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2024&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2024&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: black 1pt solid; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40F_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--CostOfSalesMember_z9RnM3TvESS3" style="background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; width: 40%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Cost
    of sales&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: top; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0575"&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: top; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;37,171&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: top; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(10,755&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: top; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;52,248&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_401_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--SellingGeneralAndAdministrativeExpensesMember_z9kePSkySZq" style="background-color: White"&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Selling,
    general and administrative&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;175,536&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;143,045&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;467,813&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;466,891&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40A_eus-gaap--AllocatedShareBasedCompensationExpense_zR8qgxWMDpoe" style="background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;Total stock-based
    compensation expense&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;175,536&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;180,216&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;457,058&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;519,139&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-04-012023-06-30_us-gaap_CostOfSalesMember"
      decimals="0"
      id="Fact000576"
      unitRef="USD">37171</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2024-01-012024-06-30_us-gaap_CostOfSalesMember"
      decimals="0"
      id="Fact000577"
      unitRef="USD">-10755</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-01-012023-06-30_us-gaap_CostOfSalesMember"
      decimals="0"
      id="Fact000578"
      unitRef="USD">52248</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2024-04-012024-06-30_us-gaap_SellingGeneralAndAdministrativeExpensesMember"
      decimals="0"
      id="Fact000580"
      unitRef="USD">175536</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-04-012023-06-30_us-gaap_SellingGeneralAndAdministrativeExpensesMember"
      decimals="0"
      id="Fact000581"
      unitRef="USD">143045</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2024-01-012024-06-30_us-gaap_SellingGeneralAndAdministrativeExpensesMember"
      decimals="0"
      id="Fact000582"
      unitRef="USD">467813</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-01-012023-06-30_us-gaap_SellingGeneralAndAdministrativeExpensesMember"
      decimals="0"
      id="Fact000583"
      unitRef="USD">466891</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2024-04-012024-06-30"
      decimals="0"
      id="Fact000585"
      unitRef="USD">175536</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      id="Fact000586"
      unitRef="USD">180216</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000587"
      unitRef="USD">457058</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000588"
      unitRef="USD">519139</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockUnitsRSUMember"
      id="Fact000593">P6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock contextRef="From2024-01-01to2024-06-30" id="Fact000595">&lt;p id="xdx_89B_eus-gaap--ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_zutusuLeDh03" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes activity related to outstanding RSUs for the six months ended June 30, 2024:&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 60%"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;RSUs&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&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; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Weighted Average&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Grant Date&lt;/b&gt;&#160;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Fair Value of&lt;/b&gt;&#160;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;RSUs&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Non-vested &#x2013; January 1, 2024 &lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iS_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zskxuSJNc56e" style="text-align: right" title="Non vested January 1, 2024"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0597"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zqU5lRwfAhs4" style="text-align: right" title="Non vested January 1, 2024"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0599"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 30%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Granted &lt;/span&gt;&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 id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zrt4ryaLwpl1" style="width: 12%; text-align: right" title="Granted"&gt;181,323&lt;/td&gt;&lt;td style="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 id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zllch5iY4hqc" style="width: 12%; text-align: right" title="Granted"&gt;2.45&lt;/td&gt;&lt;td style="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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Vested &lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z19MbzxT8r85" style="text-align: right" title="Vested"&gt;(90,660&lt;/td&gt;&lt;td style="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 id="xdx_989_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zw2LXOtBqP55" style="text-align: right" title="Vested"&gt;2.45&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Forfeited &lt;/span&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 id="xdx_985_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z6tXBsWIu0f1" style="border-bottom: Black 1pt solid; text-align: right" title="Forfeited"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0609"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zXjZc01zUQ1" style="border-bottom: Black 1pt solid; text-align: right" title="Forfeited"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0611"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="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"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Non-vested &#x2013; June 30, 2024 &lt;/span&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;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iE_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zZKE9YGev1Cb" style="border-bottom: Black 2.5pt double; text-align: right" title="Non vested June 30, 2024"&gt;90,663&lt;/td&gt;&lt;td style="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 id="xdx_985_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zJ3FvIOoMyw1" style="border-bottom: Black 2.5pt double; text-align: right" title="Non vested June 30, 2024"&gt;2.45&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

</us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      id="Fact000601"
      unitRef="Shares">181323</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      id="Fact000603"
      unitRef="USDPShares">2.45</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
      contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      id="Fact000605"
      unitRef="Shares">90660</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue
      contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      id="Fact000607"
      unitRef="USDPShares">2.45</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
      contextRef="AsOf2024-06-30_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      id="Fact000613"
      unitRef="Shares">90663</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="AsOf2024-06-30_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      id="Fact000615"
      unitRef="USDPShares">2.45</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockMember_srt_MaximumMember"
      id="Fact000616">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockMember"
      id="Fact000618">P3Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock contextRef="From2024-01-01to2024-06-30" id="Fact000620">&lt;p id="xdx_898_eus-gaap--ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock_z8AxhSup2Ecf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes activity related to outstanding Restricted Stock Awards for the six months ended June 30, 2024:&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 60%"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Restricted&lt;/p&gt;
                                                                                &lt;p style="margin-top: 0; margin-bottom: 0"&gt;Stock Awards&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&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; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Weighted Average&lt;/b&gt;&#160;&#160;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Grant Date&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Fair Value of&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Restricted Stock&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Awards&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&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: 30%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Non-vested &#x2013; January 1, 2024 &lt;/span&gt;&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 id="xdx_98D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iS_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zjzX9F5mp0jh" style="width: 12%; text-align: right" title="Non vested January 1, 2024"&gt;167,071&lt;/td&gt;&lt;td style="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 id="xdx_988_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_ziKZ1mho6F92" style="width: 12%; text-align: right" title="Non vested January 1, 2024"&gt;3.25&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Granted &lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zguxEhLygzze" style="text-align: right" title="Granted"&gt;87,604&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zpZxFjJSZq7a" style="text-align: right" title="Granted"&gt;2.33&lt;/td&gt;&lt;td style="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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Vested &lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_ziRglwZYyjlk" style="text-align: right" title="Vested"&gt;(58,587&lt;/td&gt;&lt;td style="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 id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zczuJq9ODd9c" style="text-align: right" title="Vested"&gt;3.18&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Forfeited &lt;/span&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 id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zDMjV6kJrrE" style="border-bottom: Black 1pt solid; text-align: right" title="Forfeited"&gt;(12,572&lt;/td&gt;&lt;td style="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;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zPDJRlgjgPxa" style="border-bottom: Black 1pt solid; text-align: right" title="Forfeited"&gt;3.03&lt;/td&gt;&lt;td style="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"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Non-vested &#x2013; June 30, 2024 &lt;/span&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;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iE_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_z65qMpPIaG69" style="border-bottom: Black 2.5pt double; text-align: right" title="Non vested June 30, 2024"&gt;183,516&lt;/td&gt;&lt;td style="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 id="xdx_98A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zRYsGv6flA2e" style="border-bottom: Black 2.5pt double; text-align: right" title="Non vested June 30, 2024"&gt;2.84&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

</us-gaap:ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
      contextRef="AsOf2023-12-31_us-gaap_RestrictedStockMember"
      decimals="INF"
      id="Fact000622"
      unitRef="Shares">167071</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="AsOf2023-12-31_us-gaap_RestrictedStockMember"
      decimals="INF"
      id="Fact000624"
      unitRef="USDPShares">3.25</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockMember"
      decimals="INF"
      id="Fact000626"
      unitRef="Shares">87604</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockMember"
      decimals="INF"
      id="Fact000628"
      unitRef="USDPShares">2.33</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
      contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockMember"
      decimals="INF"
      id="Fact000630"
      unitRef="Shares">58587</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue
      contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockMember"
      decimals="INF"
      id="Fact000632"
      unitRef="USDPShares">3.18</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares
      contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockMember"
      decimals="INF"
      id="Fact000634"
      unitRef="Shares">12572</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue
      contextRef="From2024-01-012024-06-30_us-gaap_RestrictedStockMember"
      decimals="INF"
      id="Fact000636"
      unitRef="USDPShares">3.03</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
      contextRef="AsOf2024-06-30_us-gaap_RestrictedStockMember"
      decimals="INF"
      id="Fact000638"
      unitRef="Shares">183516</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="AsOf2024-06-30_us-gaap_RestrictedStockMember"
      decimals="INF"
      id="Fact000640"
      unitRef="USDPShares">2.84</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="From2024-01-012024-06-30_us-gaap_PerformanceSharesMember_us-gaap_ShareBasedCompensationAwardTrancheOneMember"
      decimals="INF"
      id="Fact000642"
      unitRef="Pure">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="From2024-01-012024-06-30_us-gaap_PerformanceSharesMember_us-gaap_ShareBasedCompensationAwardTrancheTwoMember"
      decimals="INF"
      id="Fact000644"
      unitRef="Pure">1</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="From2024-01-012024-06-30_us-gaap_PerformanceSharesMember_us-gaap_ShareBasedCompensationAwardTrancheTwoMember"
      decimals="INF"
      id="Fact000646"
      unitRef="Pure">1</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="From2024-01-012024-06-30_us-gaap_PerformanceSharesMember"
      id="Fact000648">P2Y8M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock contextRef="From2024-01-01to2024-06-30" id="Fact000650">&lt;p id="xdx_892_eus-gaap--ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock_zEd0L7ZJQgXk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes activity related to outstanding PRSAs for the six months ended June 30, 2024:&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 60%"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;PRSAs&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&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; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Weighted
Average&lt;/b&gt;&#160;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Grant
Date&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Fair
Value of&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;PRSAs&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&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: 30%"&gt;Non-vested &#x2013; January 1, 2024&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 id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iS_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zeh892HdjgPf" style="width: 12%; text-align: right" title="Non vested January 1, 2024"&gt;48,050&lt;/td&gt;&lt;td style="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 id="xdx_988_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_z5daompbEpL7" style="width: 12%; text-align: right" title="Non vested January 1, 2024"&gt;3.27&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&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 id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zbK57BLzMMw8" style="text-align: right" title="Granted"&gt;64,611&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_z9eYck8ak7Ul" style="text-align: right" title="Granted"&gt;2.91&lt;/td&gt;&lt;td style="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 id="xdx_98F_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_z7CePIOxPLM9" style="text-align: right" title="Vested"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0660"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zE7mtJUnu8Oc" style="text-align: right" title="Vested"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0662"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;Forfeited&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 id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_iN_pid_di_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_z1U16K9RADha" style="border-bottom: Black 1pt solid; text-align: right" title="Forfeited"&gt;(49,295&lt;/td&gt;&lt;td style="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;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zQbI1zdLDMog" style="border-bottom: Black 1pt solid; text-align: right" title="Forfeited"&gt;3.23&lt;/td&gt;&lt;td style="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;Non-vested &#x2013; June 30, 2024&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 id="xdx_985_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iE_pid_uShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zIpFDGhT77j8" style="border-bottom: Black 2.5pt double; text-align: right" title="Non vested June 30, 2024"&gt;63,366&lt;/td&gt;&lt;td style="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 id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_uUSDPShares_c20240101__20240630__us-gaap--AwardTypeAxis__us-gaap--PerformanceSharesMember_zPpxdoF0XPre" style="border-bottom: Black 2.5pt double; text-align: right" title="Non vested June 30, 2024"&gt;2.93&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

</us-gaap:ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
      contextRef="AsOf2023-12-31_us-gaap_PerformanceSharesMember"
      decimals="INF"
      id="Fact000652"
      unitRef="Shares">48050</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="AsOf2023-12-31_us-gaap_PerformanceSharesMember"
      decimals="INF"
      id="Fact000654"
      unitRef="USDPShares">3.27</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2024-01-012024-06-30_us-gaap_PerformanceSharesMember"
      decimals="INF"
      id="Fact000656"
      unitRef="Shares">64611</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2024-01-012024-06-30_us-gaap_PerformanceSharesMember"
      decimals="INF"
      id="Fact000658"
      unitRef="USDPShares">2.91</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares
      contextRef="From2024-01-012024-06-30_us-gaap_PerformanceSharesMember"
      decimals="INF"
      id="Fact000664"
      unitRef="Shares">49295</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue
      contextRef="From2024-01-012024-06-30_us-gaap_PerformanceSharesMember"
      decimals="INF"
      id="Fact000666"
      unitRef="USDPShares">3.23</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
      contextRef="AsOf2024-06-30_us-gaap_PerformanceSharesMember"
      decimals="INF"
      id="Fact000668"
      unitRef="Shares">63366</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="AsOf2024-06-30_us-gaap_PerformanceSharesMember"
      decimals="INF"
      id="Fact000670"
      unitRef="USDPShares">2.93</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="AsOf2024-06-30_us-gaap_PerformanceSharesMember"
      decimals="0"
      id="Fact000673"
      unitRef="USD">482781</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EarningsPerShareTextBlock contextRef="From2024-01-01to2024-06-30" id="Fact000675">&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"&gt;&lt;b&gt;6.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"&gt;&lt;b&gt;&lt;span id="xdx_821_zVfC1kCTyZz1"&gt;NET
    INCOME PER SHARE&lt;/span&gt;&lt;/b&gt;&lt;/span&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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Basic
and diluted income per common share is computed using the weighted average number of common shares outstanding. Diluted income
per common share is adjusted for the incremental shares attributed to unvested RSUs and RSAs. Incremental shares of &lt;span id="xdx_90B_eus-gaap--IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_pid_uShares_c20240401__20240630_zbuOvu0BX7B7" title="Incremental shares used in calculation of diluted income per common share"&gt;113,727&lt;/span&gt; and
&lt;span id="xdx_90C_eus-gaap--IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_pid_uShares_c20240101__20240630_znW7ohGJXaN3" title="Incremental shares used in calculation of diluted income per common share"&gt;140,929&lt;/span&gt; were used in the calculation of diluted income per common share for the three and six months ended June 30, 2024, respectively.
Incremental shares of &lt;span id="xdx_90F_eus-gaap--IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_pid_uShares_c20230401__20230630_zLgFRElIecHi" title="Incremental shares used in calculation of diluted income per common share"&gt;&lt;span id="xdx_903_eus-gaap--IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_pid_uShares_c20230101__20230630_z8Pv8DxJdjSg" title="Incremental shares used in calculation of diluted income per common share"&gt;66,448&lt;/span&gt;&lt;/span&gt; were used in the calculation of diluted income per common share for both the three and six months
ended June 30, 2023.&lt;/span&gt;&lt;/p&gt;

</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="From2024-04-012024-06-30"
      decimals="INF"
      id="Fact000677"
      unitRef="Shares">113727</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="From2024-01-01to2024-06-30"
      decimals="INF"
      id="Fact000679"
      unitRef="Shares">140929</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="From2023-04-012023-06-30"
      decimals="INF"
      id="Fact000681"
      unitRef="Shares">66448</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="From2023-01-012023-06-30"
      decimals="INF"
      id="Fact000683"
      unitRef="Shares">66448</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:LongTermDebtTextBlock contextRef="From2024-01-01to2024-06-30" id="Fact000685">&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"&gt;&lt;b&gt;7.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"&gt;&lt;b&gt;&lt;span id="xdx_823_zQ6fUZvPRUp9"&gt;LINE
    OF CREDIT AND LONG-TERM DEBT&lt;/span&gt;&lt;/b&gt;&lt;/span&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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;On
March 24, 2016, the Company entered into the Amended and Restated Credit Agreement with the lenders named therein and BankUnited
N.A. as Sole Arranger, Agent and Collateral Agent (as amended from time to time, the &#x201c;Credit Agreement&#x201d; or the &#x201c;BankUnited
Facility&#x201d;). The BankUnited Facility originally provided for a revolving credit loan commitment of $&lt;span id="xdx_908_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pn6n6_c20160324__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_z70D3UnG1Hqc" title="Line of credit facility, maximum borrowing capacity"&gt;30&lt;/span&gt; million (the &#x201c;Revolving
Loan&#x201d;) and a $&lt;span id="xdx_909_eus-gaap--DebtInstrumentFaceAmount_iI_pn6n6_c20160324__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__custom--TermLoanMember_z6m2s3mR0AQc" title="Debt instrument, face amount"&gt;10&lt;/span&gt; million term loan (&#x201c;Term Loan&#x201d;). The Revolving Loan bears interest at a rate based upon a pricing
grid, as defined in the Credit Agreement.&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;On
February 20, 2024, the Company entered into a Thirteenth Amendment to the Credit Agreement (the &#x201c;Thirteenth Amendment&#x201d;).
Under the Thirteenth Amendment, the parties amended the Credit Agreement by (a) extending the maturity date of the Company&#x2019;s
existing revolving line of credit to &lt;span id="xdx_900_eus-gaap--LineOfCreditFacilityExpirationDate1_dd_c20240219__20240220__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zsIZtlqkEhpk" title="Expiration date"&gt;August
31, 2025&lt;/span&gt;; and (b) setting the aggregate maximum principal amount of all revolving line of credit loans to $&lt;span id="xdx_90E_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20240220__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodOneMember_zLklosFsZc27" title="Line of credit facility, maximum borrowing capacity"&gt;19,800,000&lt;/span&gt;
from January 1, 2024 through March 31, 2024, $&lt;span id="xdx_902_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20240220__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodTwoMember_z5Bg65Du5XWl" title="Line of credit facility, maximum borrowing capacity"&gt;19,080,000&lt;/span&gt;
from April 1, 2024 through June 30, 2024, $&lt;span id="xdx_909_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20240220__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodThreeMember_zS4Iu3Gr7Pvj" title="Line of credit facility, maximum borrowing capacity"&gt;18,360,000&lt;/span&gt;
from July 1, 2024 through September 30, 2024, $&lt;span id="xdx_90D_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20240220__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodFourMember_zuaWfv4bJNye" title="Line of credit facility, maximum borrowing capacity"&gt;17,640,000&lt;/span&gt;
from October 1, 2024 through December 31, 2024, $&lt;span id="xdx_900_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20240220__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodFiveMember_zT4Zwm7ofJdf" title="Line of credit facility, maximum borrowing capacity"&gt;16,920,000&lt;/span&gt;
from January 1, 2025 through March 31, 2025, $&lt;span id="xdx_90D_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20240220__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodSixMember_zdB5039rvD4f" title="Line of credit facility, maximum borrowing capacity"&gt;16,200,000&lt;/span&gt;
from April 1, 2025 through June 30, 2025 and $&lt;span id="xdx_902_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20240220__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodSevenMember_zhR7zOF0mOt1" title="Line of credit facility, maximum borrowing capacity"&gt;15,480,000&lt;/span&gt; thereafter, and for payments to be made by the Company to comply therewith
(if any such payments are necessary), on the first day of each such period.&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Credit Agreement, as amended, requires us to maintain the following financial covenants: (a) minimum debt service coverage ratio
of no less than &lt;span id="xdx_901_ecustom--MinimumDebtServiceCoverageRatio_iI_pip0_uPure_c20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zDESsYEYzoQ1" title="Minimum debt service coverage ratio"&gt;1.5&lt;/span&gt; to 1.0 for trailing four fiscal quarter periods; (b) maximum leverage ratio of no less than &lt;span id="xdx_902_ecustom--MaximumLeverageRatio_iI_pip0_uPure_c20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zBub8vekgDBa"&gt;4.0&lt;/span&gt; to 1.0 for
trailing four fiscal quarter periods; (c) minimum net income after taxes as of the end of each fiscal quarter being no less than
$&lt;span id="xdx_901_ecustom--NetIncomeRequiredUnderAgreement_pip0_c20240101__20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__srt--RangeAxis__srt--MinimumMember_zCgQUEXHIwA8" title="Net income required under agreement"&gt;1.00&lt;/span&gt;; and (d) a minimum adjusted EBITDA at the end of each fiscal quarter of no less than $&lt;span id="xdx_900_ecustom--MinimumAdjustedEbitda_pn5n6_c20240101__20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zbNQAuWWExa1" title="Minimum adjusted EBITDA"&gt;1.0&lt;/span&gt; million. The additional principal
payments, increase in interest and the Amendment Fee provided for in the Eighth Amendment (entered into on October 28, 2021) and
Ninth Amendment to the Credit Agreement (entered into on April 12, 2022) are excluded for purposes of calculating compliance with
each of the financial covenants.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
BankUnited Facility is secured by all of the Company&#x2019;s assets and the Revolving Loan bears interest at the Prime Rate +
&lt;span id="xdx_903_eus-gaap--DebtInstrumentBasisSpreadOnVariableRate1_pid_dp_uPure_c20240101__20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__custom--RevolvingLoanMember_zwKls66Ck9c1" title="Prime rate Plus"&gt;3.50&lt;/span&gt;%. The Prime Rate was &lt;span id="xdx_901_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240630_z5PoJcDN9kQb" title="Prime rate"&gt;8.50&lt;/span&gt;% as of June 30, 2024 and as such, the Company&#x2019;s interest rate on the Revolving Loan was &lt;span id="xdx_903_eus-gaap--LongTermDebtPercentageBearingVariableInterestRate_iI_pid_dp_uPure_c20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__custom--RevolvingLoanMember_zSe9WHN2DE88" title="Interest rate"&gt;12.00&lt;/span&gt;%
as of June 30, 2024.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
of June 30, 2024 and December 31, 2023, the Company had $&lt;span id="xdx_90F_eus-gaap--LineOfCredit_iI_pp0p0_c20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zBzkgpRcQ9la" title="Outstanding loans"&gt;18,840,000&lt;/span&gt; and $&lt;span id="xdx_900_eus-gaap--LineOfCredit_iI_pp0p0_c20231231__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zfYpKIBRjjF4" title="Outstanding loans"&gt;20,040,000&lt;/span&gt; outstanding under the Revolving Loan, respectively.
$&lt;span id="xdx_903_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zoH6Pinjyhzc" title="Current portion of line of credit"&gt;2,640,000&lt;/span&gt; of the Revolving Loan is payable by June 30, 2025 and the remaining balance of $&lt;span id="xdx_905_eus-gaap--LongTermLineOfCredit_iI_pp0p0_c20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_znJ6jp1zhVm6" title="Line of credit"&gt;16,200,000&lt;/span&gt; of the revolving line of
credit matures and is payable by August 31, 2025.&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has cumulatively paid approximately $&lt;span id="xdx_908_eus-gaap--PaymentsOfDebtIssuanceCosts_pp0p0_c20160325__20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_znUOrBlrHd47" title="Payments of debt issuance costs"&gt;962,000&lt;/span&gt; of total debt issuance costs in connection with the BankUnited Facility,
of which approximately $&lt;span id="xdx_901_eus-gaap--DeferredFinanceCostsNoncurrentNet_iI_pp0p0_c20240630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zAGIY3Q70Io9" title="Debt issuance costs"&gt;55,000&lt;/span&gt; and $&lt;span id="xdx_906_eus-gaap--DeferredFinanceCostsNoncurrentNet_iI_pp0p0_c20231231__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zbuyF2q5XM5l" title="Debt issuance costs"&gt;82,000&lt;/span&gt; is unamortized and is included in other assets at June 30, 2024 and December 31, 2023,
respectively.&#160;&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_897_eus-gaap--FinanceLeaseLiabilityMaturityTableTextBlock_zYNqlomdNYR6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Also
                                                                                                                                                included in long-term debt are financing leases of $&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIExJTkUgT0YgQ1JFRElUIEFORCBMT05HLVRFUk0gREVCVCAoRGV0YWlscyBOYXJyYXRpdmUpAA__" id="xdx_903_eus-gaap--FinanceLeaseLiability_iI_pp0p0_c20240630_zxSWT48JYkg8" title="Financing leases"&gt;41,484&lt;/span&gt;
                                                                                                                                                and $&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIExJTkUgT0YgQ1JFRElUIEFORCBMT05HLVRFUk0gREVCVCAoRGV0YWlscyBOYXJyYXRpdmUpAA__" id="xdx_90B_eus-gaap--FinanceLeaseLiability_iI_pp0p0_c20231231_ze6Oq9dYcAc2" title="Financing leases"&gt;70,981&lt;/span&gt;
                                                                                                                                                at June 30, 2024 and December 31, 2023, respectively, including a current portion of $&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIExJTkUgT0YgQ1JFRElUIEFORCBMT05HLVRFUk0gREVCVCAoRGV0YWlscyBOYXJyYXRpdmUpAA__" id="xdx_90E_eus-gaap--FinanceLeaseLiabilityCurrent_iI_pp0p0_c20240630_zd4i79FcFubf" title="Financing leases current"&gt;30,663&lt;/span&gt;
                                                                                                                                                and $&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIExJTkUgT0YgQ1JFRElUIEFORCBMT05HLVRFUk0gREVCVCAoRGV0YWlscyBOYXJyYXRpdmUpAA__" id="xdx_90C_eus-gaap--FinanceLeaseLiabilityCurrent_iI_pp0p0_c20231231_zTbO7B6C4L2d" title="Financing leases current"&gt;44,498&lt;/span&gt;,
                                                                                                                                                respectively. &lt;span id="xdx_8BD_zEbzemVZogLh"&gt;The maturities of the June 30, 2024 balance of these financing leases are as
                                                                                                                                                follows:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 50%; border-collapse: collapse"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;For
    the Year Ending December 31,&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="3" id="xdx_499_20240630_zWNlcug8SMI9"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_403_eus-gaap--FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maLTDzhnE_maFLLPDzf0O_zPjuEVmkAUKj" style="background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; width: 73%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Remainder
    of 2024&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: top; width: 24%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;15,001&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40E_eus-gaap--FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLTDzhnE_maFLLPDzf0O_z0YzqUIdnn1b" style="background-color: White"&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2025&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;26,483&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_403_eus-gaap--FinanceLeaseLiabilityPaymentsDue_iTI_mtFLLPDzf0O_zrfXNtzrb3Q4" style="background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;41,484&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p id="xdx_8A5_z4o6Tr8L5vGd" style="margin-top: 0; margin-bottom: 0"&gt;&#160;&lt;/p&gt;

</us-gaap:LongTermDebtTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2016-03-24_custom_BankUnitedMember_us-gaap_RevolvingCreditFacilityMember"
      decimals="-6"
      id="Fact000687"
      unitRef="USD">30000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2016-03-24_custom_BankUnitedMember_custom_TermLoanMember"
      decimals="-6"
      id="Fact000689"
      unitRef="USD">10000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:LineOfCreditFacilityExpirationDate1
      contextRef="From2024-02-192024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember"
      id="Fact000691">2025-08-31</us-gaap:LineOfCreditFacilityExpirationDate1>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodOneMember"
      decimals="0"
      id="Fact000693"
      unitRef="USD">19800000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodTwoMember"
      decimals="0"
      id="Fact000695"
      unitRef="USD">19080000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodThreeMember"
      decimals="0"
      id="Fact000697"
      unitRef="USD">18360000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodFourMember"
      decimals="0"
      id="Fact000699"
      unitRef="USD">17640000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodFiveMember"
      decimals="0"
      id="Fact000701"
      unitRef="USD">16920000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodSixMember"
      decimals="0"
      id="Fact000703"
      unitRef="USD">16200000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2024-02-20_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodSevenMember"
      decimals="0"
      id="Fact000705"
      unitRef="USD">15480000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <cvu:MinimumDebtServiceCoverageRatio
      contextRef="AsOf2024-06-30_custom_BankUnitedMember"
      decimals="INF"
      id="Fact000707"
      unitRef="Pure">1.5</cvu:MinimumDebtServiceCoverageRatio>
    <cvu:MaximumLeverageRatio
      contextRef="AsOf2024-06-30_custom_BankUnitedMember"
      decimals="INF"
      id="Fact000708"
      unitRef="Pure">4.0</cvu:MaximumLeverageRatio>
    <cvu:NetIncomeRequiredUnderAgreement
      contextRef="From2024-01-012024-06-30_custom_BankUnitedMember_srt_MinimumMember"
      decimals="INF"
      id="Fact000710"
      unitRef="USD">1.00</cvu:NetIncomeRequiredUnderAgreement>
    <cvu:MinimumAdjustedEbitda
      contextRef="From2024-01-012024-06-30_custom_BankUnitedMember"
      decimals="-5"
      id="Fact000712"
      unitRef="USD">1000000.0</cvu:MinimumAdjustedEbitda>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="From2024-01-012024-06-30_custom_BankUnitedMember_custom_RevolvingLoanMember"
      decimals="INF"
      id="Fact000714"
      unitRef="Pure">0.0350</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2024-06-30"
      decimals="INF"
      id="Fact000716"
      unitRef="Pure">0.0850</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:LongTermDebtPercentageBearingVariableInterestRate
      contextRef="AsOf2024-06-30_custom_BankUnitedMember_custom_RevolvingLoanMember"
      decimals="INF"
      id="Fact000718"
      unitRef="Pure">0.1200</us-gaap:LongTermDebtPercentageBearingVariableInterestRate>
    <us-gaap:LineOfCredit
      contextRef="AsOf2024-06-30_custom_BankUnitedMember_us-gaap_RevolvingCreditFacilityMember"
      decimals="0"
      id="Fact000720"
      unitRef="USD">18840000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCredit
      contextRef="AsOf2023-12-31_custom_BankUnitedMember_us-gaap_RevolvingCreditFacilityMember"
      decimals="0"
      id="Fact000722"
      unitRef="USD">20040000</us-gaap:LineOfCredit>
    <us-gaap:LinesOfCreditCurrent
      contextRef="AsOf2024-06-30_custom_BankUnitedMember_us-gaap_RevolvingCreditFacilityMember"
      decimals="0"
      id="Fact000724"
      unitRef="USD">2640000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:LongTermLineOfCredit
      contextRef="AsOf2024-06-30_custom_BankUnitedMember_us-gaap_RevolvingCreditFacilityMember"
      decimals="0"
      id="Fact000726"
      unitRef="USD">16200000</us-gaap:LongTermLineOfCredit>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="From2016-03-252024-06-30_custom_BankUnitedMember"
      decimals="0"
      id="Fact000728"
      unitRef="USD">962000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:DeferredFinanceCostsNoncurrentNet
      contextRef="AsOf2024-06-30_custom_BankUnitedMember"
      decimals="0"
      id="Fact000730"
      unitRef="USD">55000</us-gaap:DeferredFinanceCostsNoncurrentNet>
    <us-gaap:DeferredFinanceCostsNoncurrentNet
      contextRef="AsOf2023-12-31_custom_BankUnitedMember"
      decimals="0"
      id="Fact000732"
      unitRef="USD">82000</us-gaap:DeferredFinanceCostsNoncurrentNet>
    <us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock contextRef="From2024-01-01to2024-06-30" id="Fact000734">&lt;p id="xdx_897_eus-gaap--FinanceLeaseLiabilityMaturityTableTextBlock_zYNqlomdNYR6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Also
                                                                                                                                                included in long-term debt are financing leases of $&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIExJTkUgT0YgQ1JFRElUIEFORCBMT05HLVRFUk0gREVCVCAoRGV0YWlscyBOYXJyYXRpdmUpAA__" id="xdx_903_eus-gaap--FinanceLeaseLiability_iI_pp0p0_c20240630_zxSWT48JYkg8" title="Financing leases"&gt;41,484&lt;/span&gt;
                                                                                                                                                and $&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIExJTkUgT0YgQ1JFRElUIEFORCBMT05HLVRFUk0gREVCVCAoRGV0YWlscyBOYXJyYXRpdmUpAA__" id="xdx_90B_eus-gaap--FinanceLeaseLiability_iI_pp0p0_c20231231_ze6Oq9dYcAc2" title="Financing leases"&gt;70,981&lt;/span&gt;
                                                                                                                                                at June 30, 2024 and December 31, 2023, respectively, including a current portion of $&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIExJTkUgT0YgQ1JFRElUIEFORCBMT05HLVRFUk0gREVCVCAoRGV0YWlscyBOYXJyYXRpdmUpAA__" id="xdx_90E_eus-gaap--FinanceLeaseLiabilityCurrent_iI_pp0p0_c20240630_zd4i79FcFubf" title="Financing leases current"&gt;30,663&lt;/span&gt;
                                                                                                                                                and $&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIExJTkUgT0YgQ1JFRElUIEFORCBMT05HLVRFUk0gREVCVCAoRGV0YWlscyBOYXJyYXRpdmUpAA__" id="xdx_90C_eus-gaap--FinanceLeaseLiabilityCurrent_iI_pp0p0_c20231231_zTbO7B6C4L2d" title="Financing leases current"&gt;44,498&lt;/span&gt;,
                                                                                                                                                respectively. &lt;span id="xdx_8BD_zEbzemVZogLh"&gt;The maturities of the June 30, 2024 balance of these financing leases are as
                                                                                                                                                follows:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 50%; border-collapse: collapse"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;For
    the Year Ending December 31,&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td colspan="3" id="xdx_499_20240630_zWNlcug8SMI9"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_403_eus-gaap--FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maLTDzhnE_maFLLPDzf0O_zPjuEVmkAUKj" style="background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom; width: 73%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Remainder
    of 2024&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: top; width: 24%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;15,001&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40E_eus-gaap--FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLTDzhnE_maFLLPDzf0O_z0YzqUIdnn1b" style="background-color: White"&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2025&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;26,483&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_403_eus-gaap--FinanceLeaseLiabilityPaymentsDue_iTI_mtFLLPDzf0O_zrfXNtzrb3Q4" style="background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.25pt double; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;41,484&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:FinanceLeaseLiability
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000736"
      unitRef="USD">41484</us-gaap:FinanceLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000738"
      unitRef="USD">70981</us-gaap:FinanceLeaseLiability>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000740"
      unitRef="USD">30663</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000742"
      unitRef="USD">44498</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000744"
      unitRef="USD">15001</us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000746"
      unitRef="USD">26483</us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:FinanceLeaseLiabilityPaymentsDue
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000748"
      unitRef="USD">41484</us-gaap:FinanceLeaseLiabilityPaymentsDue>
    <us-gaap:ConcentrationRiskDisclosureTextBlock contextRef="From2024-01-01to2024-06-30" id="Fact000750">&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"&gt;&lt;b&gt;8.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"&gt;&lt;b&gt;&lt;span id="xdx_820_zyceMFCDzvA4"&gt;MAJOR
    CUSTOMERS AND VENDORS&lt;/span&gt;&lt;/b&gt;&lt;/span&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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the six months ended June 30, 2024, our four largest customers accounted for &lt;span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zuZESyeSCz0l" title="Concentration risk, percentage"&gt;32&lt;/span&gt;%, &lt;span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zVU8kNAkQnJk" title="Concentration risk, percentage"&gt;25&lt;/span&gt;%, &lt;span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zj7nzHoirSa" title="Concentration risk, percentage"&gt;13&lt;/span&gt;%, and &lt;span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFourMember_zNyWVp8Pg6Uh" title="Concentration risk, percentage"&gt;12&lt;/span&gt;% of revenue. During the six
months ended June 30, 2023, our two largest customers accounted for &lt;span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zZkhbGHPRlB5" title="Concentration risk, percentage"&gt;32&lt;/span&gt;% and &lt;span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zNjAGFIxuWZ9" title="Concentration risk, percentage"&gt;29&lt;/span&gt;% of revenue. During the three months ended June
30, 2024, our four largest customers accounted for &lt;span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240401__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zi7MHhewbHX4" title="Concentration risk, percentage"&gt;36&lt;/span&gt;%, &lt;span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240401__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zI6bmTlXz9q7" title="Concentration risk, percentage"&gt;25&lt;/span&gt;%, &lt;span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240401__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zLTdJO4xxnBc" title="Concentration risk, percentage"&gt;13&lt;/span&gt;%, and &lt;span id="xdx_90F_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240401__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFourMember_zs10ayjjWSDg" title="Concentration risk, percentage"&gt;12&lt;/span&gt;% of revenue. During the three months ended June 30, 2023,
our three largest customers accounted for &lt;span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230401__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_z5cKU4o1rsIa" title="Concentration risk, percentage"&gt;29&lt;/span&gt;%, &lt;span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230401__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zCEOHSYwir0d" title="Concentration risk, percentage"&gt;27&lt;/span&gt;%, and &lt;span id="xdx_906_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230401__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_z9nDc9wn1L45" title="Concentration risk, percentage"&gt;12&lt;/span&gt;% of revenue.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;At
June 30, 2024, &lt;span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zhe3468cptea" title="Concentration Risk, Percentage"&gt;19&lt;/span&gt;%, &lt;span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zOwT4AbD5069" title="Concentration Risk, Percentage"&gt;18&lt;/span&gt;%, &lt;span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zIRPgNSN3Tmb" title="Concentration Risk, Percentage"&gt;15&lt;/span&gt;%, and &lt;span id="xdx_907_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFourMember_zZw9guLf4sYf" title="Concentration Risk, Percentage"&gt;14&lt;/span&gt;% of our accounts receivable were from four of our largest customers. At December 31, 2023,
&lt;span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zW9q9gg0tv8l" title="Concentration Risk, Percentage"&gt;30&lt;/span&gt;%, &lt;span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_z9Tkm3GxwFK8" title="Concentration Risk, Percentage"&gt;17&lt;/span&gt;%, &lt;span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zyrYZk76nYga" title="Concentration Risk, Percentage"&gt;12&lt;/span&gt;%, and &lt;span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFourMember_z5dAgOubP2Xi" title="Concentration Risk, Percentage"&gt;11&lt;/span&gt;% of accounts receivable were due from our four largest customers.&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;At
June 30, 2024, &lt;span id="xdx_905_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zReRfPSBXI36"&gt;26&lt;/span&gt;%, &lt;span id="xdx_90C_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zq3AhrgBz4Nc"&gt;25&lt;/span&gt;% and &lt;span id="xdx_90B_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zghrkL6BYa9a"&gt;22&lt;/span&gt;% of our contract assets were from three of our largest customers. At December 31, 2023, &lt;span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zEzzyAvsKIce"&gt;26&lt;/span&gt;%, &lt;span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zDR7DPJ3f5u9"&gt;23&lt;/span&gt;%,
&lt;span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zb3xKAGdi969"&gt;18&lt;/span&gt;%, and &lt;span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFourMember_zsJ2qasi1fI8"&gt;15&lt;/span&gt;% of our contract assets were related to our four largest customers.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;At
June 30, 2024, &lt;span id="xdx_90C_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20240101__20240630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsPayableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--VendorOneMember_zHPYSfoQTv0d" title="Concentration Risk, Percentage"&gt;11&lt;/span&gt;% of our accounts payable was from one of our largest vendors.&lt;/span&gt;&lt;/p&gt;

</us-gaap:ConcentrationRiskDisclosureTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2024-01-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember"
      decimals="INF"
      id="Fact000752"
      unitRef="Pure">0.32</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2024-01-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember"
      decimals="INF"
      id="Fact000754"
      unitRef="Pure">0.25</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2024-01-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember"
      decimals="INF"
      id="Fact000756"
      unitRef="Pure">0.13</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2024-01-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFourMember"
      decimals="INF"
      id="Fact000758"
      unitRef="Pure">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember"
      decimals="INF"
      id="Fact000760"
      unitRef="Pure">0.32</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember"
      decimals="INF"
      id="Fact000762"
      unitRef="Pure">0.29</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2024-04-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember"
      decimals="INF"
      id="Fact000764"
      unitRef="Pure">0.36</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2024-04-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember"
      decimals="INF"
      id="Fact000766"
      unitRef="Pure">0.25</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2024-04-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember"
      decimals="INF"
      id="Fact000768"
      unitRef="Pure">0.13</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2024-04-012024-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFourMember"
      decimals="INF"
      id="Fact000770"
      unitRef="Pure">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-04-012023-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember"
      decimals="INF"
      id="Fact000772"
      unitRef="Pure">0.29</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-04-012023-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember"
      decimals="INF"
      id="Fact000774"
      unitRef="Pure">0.27</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-04-012023-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember"
      decimals="INF"
      id="Fact000776"
      unitRef="Pure">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2024-01-012024-06-30_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember"
      decimals="INF"
      id="Fact000778"
      unitRef="Pure">0.19</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2024-01-012024-06-30_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember"
      decimals="INF"
      id="Fact000780"
      unitRef="Pure">0.18</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2024-01-012024-06-30_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember"
      decimals="INF"
      id="Fact000782"
      unitRef="Pure">0.15</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2024-01-012024-06-30_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFourMember"
      decimals="INF"
      id="Fact000784"
      unitRef="Pure">0.14</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-12-31_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember"
      decimals="INF"
      id="Fact000786"
      unitRef="Pure">0.30</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-12-31_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember"
      decimals="INF"
      id="Fact000788"
      unitRef="Pure">0.17</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-12-31_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember"
      decimals="INF"
      id="Fact000790"
      unitRef="Pure">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-12-31_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFourMember"
      decimals="INF"
      id="Fact000792"
      unitRef="Pure">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2024-01-012024-06-30_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember"
      decimals="INF"
      id="Fact000793"
      unitRef="Pure">0.26</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2024-01-012024-06-30_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember"
      decimals="INF"
      id="Fact000794"
      unitRef="Pure">0.25</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2024-01-012024-06-30_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember"
      decimals="INF"
      id="Fact000795"
      unitRef="Pure">0.22</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-12-31_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember"
      decimals="INF"
      id="Fact000796"
      unitRef="Pure">0.26</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-12-31_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember"
      decimals="INF"
      id="Fact000797"
      unitRef="Pure">0.23</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-12-31_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember"
      decimals="INF"
      id="Fact000798"
      unitRef="Pure">0.18</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-12-31_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFourMember"
      decimals="INF"
      id="Fact000799"
      unitRef="Pure">0.15</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2024-01-012024-06-30_us-gaap_AccountsPayableMember_us-gaap_CustomerConcentrationRiskMember_custom_VendorOneMember"
      decimals="INF"
      id="Fact000801"
      unitRef="Pure">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:LesseeOperatingLeasesTextBlock contextRef="From2024-01-01to2024-06-30" id="Fact000803">&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;b&gt;9.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"&gt;&lt;b&gt;&lt;span id="xdx_825_zVTnTqw0XHQ7"&gt;LEASES&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company leases manufacturing and office space under an agreement classified as an operating lease. On November 10, 2021, the Company
executed the second amendment to the lease agreement for its manufacturing and office space, which extends the lease agreement&#x2019;s
expiration date to &lt;span id="xdx_90F_eus-gaap--LeaseExpirationDate1_c20240101__20240630_zIVX0aE1hT3c" title="Expiration date"&gt;April 30, 2026&lt;/span&gt;. The lease agreement does not include any renewal options. The agreement provides for an initial
monthly base amount plus annual escalations through the term of the lease. In addition to the monthly base amounts in the lease
agreement, the Company is required to pay real estate taxes and operating expenses during the lease terms.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company also leases office equipment in agreements classified as operating leases.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;For
the six months ended June 30, 2024 and 2023, the Company&#x2019;s operating lease expense was $&lt;span id="xdx_90D_eus-gaap--OperatingLeaseCost_c20240101__20240630_zKOjJFDio1Eg" title="Operating lease expense"&gt;1,059,249&lt;/span&gt; and $&lt;span id="xdx_90B_eus-gaap--OperatingLeaseCost_c20230101__20230630_z1o6EFPv4kV9" title="Operating lease expense"&gt;1,084,968&lt;/span&gt;, respectively.
For the three months ended June 30, 2024 and 2023, the Company&#x2019;s operating lease expense was $&lt;span id="xdx_90F_eus-gaap--OperatingLeaseCost_c20240401__20240630_zaXC5BUIUjq6" title="Operating lease expense"&gt;529,624&lt;/span&gt; and $&lt;span id="xdx_90C_eus-gaap--OperatingLeaseCost_c20230401__20230630_zqdLYkVly1i3" title="Operating lease expense"&gt;550,942&lt;/span&gt;, respectively.&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_896_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_zH5fpW7w2TSd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Future
minimum lease payments under non-cancellable operating leases as of June 30, 2024 were as follows:&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;For the Year Ending December 31,&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20240630_zms6xyLOffNg" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_404_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maOLFMPzv5G_maLOLLPzLvy_z1IKZkZ12Znk" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 82%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Remainder of 2024&lt;/span&gt;&lt;/td&gt;&lt;td style="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: 14%; text-align: right"&gt;1,122,283&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_406_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maOLFMPzv5G_maLOLLPzLvy_zUR11loyEXql" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2025&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,283,354&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maOLFMPzv5G_maLOLLPzLvy_zdHnid7PPmDe" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;2026&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;850,276&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_maOLFMPzv5G_maLOLLPzLvy_zhFFLhytgYa4" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2027&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;111,065&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_400_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFour_iI_maOLFMPzv5G_maLOLLPzLvy_zdXmSiewEe1k" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;2028&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;9,228&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPzLvy_zr5pbhm3Sfk5" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-left: 0.125in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total undiscounted operating lease payments&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,376,206&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_402_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zoHir3X3mY7e" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Less imputed interest &lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(255,118&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_408_eus-gaap--OperatingLeaseLiability_iI_zCAGGud5BAla" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Present value of operating lease payments&lt;/span&gt;&lt;/td&gt;&lt;td style="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;4,121,088&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

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

&lt;p id="xdx_899_ecustom--LesseeOperatingLeasesTableTextBlock_zYGEi7K7jPn7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table sets forth the right-of-use assets and operating lease liabilities as of:&#160;&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20240630_zMUi29o8Cth2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20231231_zaJ7ikOUZwaa" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31, &lt;br/&gt; 2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_409_eus-gaap--AssetsAbstract_iB_zIsU4Mbwes9i" style="vertical-align: bottom"&gt;
    &lt;td style="font-weight: bold; text-align: justify"&gt;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="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="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_409_eus-gaap--OperatingLeaseRightOfUseAsset_i01I_z11FRiRSNGva" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 70%; text-align: justify; padding-bottom: 2.5pt"&gt;Right-of-use assets, net&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"&gt;3,808,903&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"&gt;4,740,193&lt;/td&gt;&lt;td style="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: White"&gt;
    &lt;td style="text-align: justify"&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="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="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40E_eus-gaap--LiabilitiesAbstract_iB_zZj97qVvcnS7" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: justify"&gt;Liabilities&lt;/td&gt;&lt;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="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="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_402_eus-gaap--OperatingLeaseLiabilityCurrent_i01I_maOLLzT6D_maOLLzzJK_zivftNYJIyv2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Current operating lease liabilities&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;2,076,851&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1,999,058&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_408_eus-gaap--OperatingLeaseLiabilityNoncurrent_i01I_maOLLzT6D_maOLLzzJK_z6VbjSUm6ita" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;Long-term operating lease liabilities&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2,044,237&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,100,571&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_404_eus-gaap--OperatingLeaseLiability_i01TI_mtOLLzT6D_mtOLLzzJK_z7mGDvYhh0Bj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify; padding-bottom: 2.5pt; padding-left: 0.125in"&gt;Total lease liabilities&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,121,088&lt;/td&gt;&lt;td style="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;5,099,629&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;p id="xdx_8AA_z1zoFVonymu6" 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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s weighted average remaining lease term for its operating leases is &lt;span id="xdx_90A_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20240630_z1buwVjTWZj7" title="Weighted average remaining lease term operating leases"&gt;2&lt;/span&gt; years as of June 30, 2024. The Company&#x2019;s
weighted average discount rate for its operating leases is &lt;span id="xdx_903_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_pid_dp_uPure_c20240630_zHv9A07as9M4" title="Weighted average discount rate for its operating leases"&gt;5.48&lt;/span&gt;% as of June 30, 2024.&lt;/span&gt;&lt;/p&gt;

</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LeaseExpirationDate1 contextRef="From2024-01-01to2024-06-30" id="Fact000805">2026-04-30</us-gaap:LeaseExpirationDate1>
    <us-gaap:OperatingLeaseCost
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000807"
      unitRef="USD">1059249</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000809"
      unitRef="USD">1084968</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="From2024-04-012024-06-30"
      decimals="0"
      id="Fact000811"
      unitRef="USD">529624</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      id="Fact000813"
      unitRef="USD">550942</us-gaap:OperatingLeaseCost>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock contextRef="From2024-01-01to2024-06-30" id="Fact000815">&lt;p id="xdx_896_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_zH5fpW7w2TSd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Future
minimum lease payments under non-cancellable operating leases as of June 30, 2024 were as follows:&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;For the Year Ending December 31,&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20240630_zms6xyLOffNg" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_404_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maOLFMPzv5G_maLOLLPzLvy_z1IKZkZ12Znk" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 82%; text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Remainder of 2024&lt;/span&gt;&lt;/td&gt;&lt;td style="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: 14%; text-align: right"&gt;1,122,283&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_406_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maOLFMPzv5G_maLOLLPzLvy_zUR11loyEXql" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2025&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,283,354&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maOLFMPzv5G_maLOLLPzLvy_zdHnid7PPmDe" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;2026&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;850,276&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_maOLFMPzv5G_maLOLLPzLvy_zhFFLhytgYa4" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;2027&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;111,065&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_400_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFour_iI_maOLFMPzv5G_maLOLLPzLvy_zdXmSiewEe1k" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;2028&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;9,228&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPzLvy_zr5pbhm3Sfk5" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-left: 0.125in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total undiscounted operating lease payments&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,376,206&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_402_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zoHir3X3mY7e" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Less imputed interest &lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;(255,118&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_408_eus-gaap--OperatingLeaseLiability_iI_zCAGGud5BAla" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Present value of operating lease payments&lt;/span&gt;&lt;/td&gt;&lt;td style="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;4,121,088&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000817"
      unitRef="USD">1122283</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000819"
      unitRef="USD">2283354</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000821"
      unitRef="USD">850276</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000823"
      unitRef="USD">111065</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000825"
      unitRef="USD">9228</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000827"
      unitRef="USD">4376206</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000829"
      unitRef="USD">255118</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000831"
      unitRef="USD">4121088</us-gaap:OperatingLeaseLiability>
    <cvu:LesseeOperatingLeasesTableTextBlock contextRef="From2024-01-01to2024-06-30" id="Fact000833">&lt;p id="xdx_899_ecustom--LesseeOperatingLeasesTableTextBlock_zYGEi7K7jPn7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table sets forth the right-of-use assets and operating lease liabilities as of:&#160;&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20240630_zMUi29o8Cth2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;June 30,&lt;br/&gt; 2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20231231_zaJ7ikOUZwaa" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;December 31, &lt;br/&gt; 2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_409_eus-gaap--AssetsAbstract_iB_zIsU4Mbwes9i" style="vertical-align: bottom"&gt;
    &lt;td style="font-weight: bold; text-align: justify"&gt;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="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="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_409_eus-gaap--OperatingLeaseRightOfUseAsset_i01I_z11FRiRSNGva" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 70%; text-align: justify; padding-bottom: 2.5pt"&gt;Right-of-use assets, net&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"&gt;3,808,903&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"&gt;4,740,193&lt;/td&gt;&lt;td style="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: White"&gt;
    &lt;td style="text-align: justify"&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="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="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40E_eus-gaap--LiabilitiesAbstract_iB_zZj97qVvcnS7" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: justify"&gt;Liabilities&lt;/td&gt;&lt;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="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="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_402_eus-gaap--OperatingLeaseLiabilityCurrent_i01I_maOLLzT6D_maOLLzzJK_zivftNYJIyv2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Current operating lease liabilities&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;2,076,851&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1,999,058&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_408_eus-gaap--OperatingLeaseLiabilityNoncurrent_i01I_maOLLzT6D_maOLLzzJK_z6VbjSUm6ita" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1pt"&gt;Long-term operating lease liabilities&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2,044,237&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;3,100,571&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_404_eus-gaap--OperatingLeaseLiability_i01TI_mtOLLzT6D_mtOLLzzJK_z7mGDvYhh0Bj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify; padding-bottom: 2.5pt; padding-left: 0.125in"&gt;Total lease liabilities&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,121,088&lt;/td&gt;&lt;td style="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;5,099,629&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

</cvu:LesseeOperatingLeasesTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000838"
      unitRef="USD">3808903</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000839"
      unitRef="USD">4740193</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000844"
      unitRef="USD">2076851</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000845"
      unitRef="USD">1999058</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000847"
      unitRef="USD">2044237</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000848"
      unitRef="USD">3100571</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="AsOf2024-06-30"
      decimals="0"
      id="Fact000850"
      unitRef="USD">4121088</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000851"
      unitRef="USD">5099629</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="AsOf2024-06-30" id="Fact000853">P2Y</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="AsOf2024-06-30"
      decimals="INF"
      id="Fact000855"
      unitRef="Pure">0.0548</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="From2024-01-01to2024-06-30" id="Fact000857">&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"&gt;&lt;b&gt;10.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"&gt;&lt;b&gt;&lt;span id="xdx_82A_zb6D2cJcQ7r4"&gt;INCOME
    TAXES&lt;/span&gt;&lt;/b&gt;&lt;/span&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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Income
taxes are accounted for under the asset and liability method whereby deferred tax assets and liabilities are recognized for future
tax consequences attributable to the temporary differences between the consolidated financial statements carrying amounts of assets
and liabilities and their respective tax bases and operating loss and tax credit carryforwards. Deferred tax assets and liabilities
are measured using enacted tax rates expected to apply in the years in which those temporary differences are expected to be recovered
or settled. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in the period that includes
the enactment date. Deferred tax assets are reduced by a valuation allowance when, in the opinion of management, it is more likely
than not that some portion or all of the deferred tax assets will not be realized. The Company&#x2019;s policy is to record estimated
interest and penalties related to uncertain tax positions in income tax expense.&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
provision for income tax for the three months ended June 30, 2024 and 2023 was $&lt;span id="xdx_90A_eus-gaap--IncomeTaxExpenseBenefit_c20240401__20240630_zLZOOol09Cdb" title="Provision for income taxes"&gt;341,572&lt;/span&gt; and $&lt;span id="xdx_90E_eus-gaap--IncomeTaxExpenseBenefit_c20230401__20230630_zRDmvxwaOk86" title="Provision for income taxes"&gt;98,789&lt;/span&gt;, respectively. The provision
for income tax for the six months ended June 30, 2024 and 2023 was $&lt;span id="xdx_90A_eus-gaap--IncomeTaxExpenseBenefit_c20240101__20240630_zjcAIrf6dwyc" title="Provision for income taxes"&gt;381,044&lt;/span&gt; and $&lt;span id="xdx_90F_eus-gaap--IncomeTaxExpenseBenefit_c20230101__20230630_zOwZwN4biht3" title="Provision for income taxes"&gt;298,046&lt;/span&gt;, respectively. The increase in the year-over-year
provision for income tax is the result of the partial release of approximately $&lt;span id="xdx_901_eus-gaap--ValuationAllowanceDeferredTaxAssetChangeInAmount_iN_di_c20230401__20230630_zIhdF7NQxxS2" title="Valuation allowance released"&gt;121,000&lt;/span&gt; of the Company&#x2019;s valuation allowance
on its deferred tax asset recorded during the three months ending June 30, 2023.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
effective income tax rate for the six months ended June 30, 2024 is &lt;span id="xdx_902_eus-gaap--EffectiveIncomeTaxRateContinuingOperations_pid_dp_uPure_c20240101__20240630_zOLOxl3J12H1" title="Effective income tax rate"&gt;19.4&lt;/span&gt;%. The difference between the effective income tax rate
for the six months ended June 30, 2024 and the statutory income tax rate of &lt;span id="xdx_90C_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_c20240101__20240630_zJ5k4Xw7oyLe" title="Statutory income tax rate"&gt;21.0&lt;/span&gt;% for the six months ended June 30, 2024 is due
primarily to the estimated R&amp;amp;D credit, state income taxes and permanent tax differences. The effective income tax rate for
the six months ended June 30, 2023 was &lt;span id="xdx_906_eus-gaap--EffectiveIncomeTaxRateContinuingOperations_pid_dp_uPure_c20230101__20230630_zXOUk7PQwR1a" title="Effective income tax rate"&gt;12.2&lt;/span&gt;%. The difference between the effective income tax rate for the six months ended June
30, 2023 and the statutory income tax rate of &lt;span id="xdx_909_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_c20230101__20230630_z7eUPD1mD99a" title="Statutory income tax rate"&gt;21&lt;/span&gt;% for the six months ended June 30, 2023 was due to the estimated R&amp;amp;D credit,
the partial release of approximately $&lt;span id="xdx_906_eus-gaap--ValuationAllowanceDeferredTaxAssetChangeInAmount_iN_di_c20230401__20230630_zcPIUlOjfpy9" title="Valuation allowance released"&gt;121,000&lt;/span&gt; of the Company&#x2019;s valuation allowance on its deferred tax asset recorded during
the three months ending June 30, 2023, state income taxes and permanent tax differences.&lt;/span&gt;&lt;/p&gt;

</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2024-04-012024-06-30"
      decimals="0"
      id="Fact000859"
      unitRef="USD">341572</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      id="Fact000861"
      unitRef="USD">98789</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2024-01-01to2024-06-30"
      decimals="0"
      id="Fact000863"
      unitRef="USD">381044</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-01-012023-06-30"
      decimals="0"
      id="Fact000865"
      unitRef="USD">298046</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      id="Fact000867"
      unitRef="USD">-121000</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="From2024-01-01to2024-06-30"
      decimals="INF"
      id="Fact000869"
      unitRef="Pure">0.194</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2024-01-01to2024-06-30"
      decimals="INF"
      id="Fact000871"
      unitRef="Pure">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="From2023-01-012023-06-30"
      decimals="INF"
      id="Fact000873"
      unitRef="Pure">0.122</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2023-01-012023-06-30"
      decimals="INF"
      id="Fact000875"
      unitRef="Pure">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      id="Fact000877"
      unitRef="USD">-121000</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="From2024-01-01to2024-06-30" id="Fact000879">&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;11.&lt;/b&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_822_zaDpS6P9QKzc"&gt;COMMITMENTS AND
    CONTINGENCIES&lt;/span&gt;&lt;/b&gt;&lt;/span&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 style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;The
Company may be involved in various claims, suits, assessments, investigations, and legal proceedings that arise from time to time
in the ordinary course of its business. The Company accrues a liability when it is both probable a liability has been incurred
and the amount of the loss can be reasonably estimated. The Company reviews these accruals at least quarterly and adjusts them
to reflect ongoing negotiations, settlements, rulings, advice of legal counsel, and other relevant information. To the extent
new information is obtained and the Company&#x2019;s views on the probable outcomes of claims, suits, assessments, investigations,
or legal proceedings change, changes in the Company&#x2019;s accrued liabilities would be recorded in the period such determination
is made. For some matters, the amount of liability is not probable or the amount cannot be reasonably estimated and, therefore,
accruals have not been made. &lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;The
Company reached a settlement with the SEC on June 20, 2024 related to the Company&#x2019;s previously announced and filed restatements
of certain of its financial statements for fiscal periods between January 1, 2018 and December 31, 2022. Under the terms of this
settlement, if the Company fails to comply with various undertakings, a civil monetary penalty in the amount of $&lt;span id="xdx_90C_eus-gaap--LitigationSettlementAmountAwardedToOtherParty_c20240601__20240620_zaRCaN4feQX1" title="Settlement amount"&gt;400,000&lt;/span&gt; will
be due to the SEC by June 30, 2025 (the &#x201c;Undertakings&#x201d;). The Undertakings are as follows:&lt;/span&gt; &lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(a)
the Company shall fully remediate its outstanding material weaknesses in Internal Controls over Financial Reporting (&#x201c;ICFR&#x201d;)
and have effective ICFR and disclosure controls and procedures (&#x201c;DCP&#x201d;) by December 31, 2024; (b) the Company shall
publicly disclose, concurrent with the filing of the 2024 Form 10-K, whether in management&#x2019;s opinion, the Company has fully
remediated its material weaknesses in ICFR and has effective ICFR and DCP; and (c) the Company shall certify, in writing, compliance
with the undertaking(s) set forth above. The certification shall be made by the Company&#x2019;s CEO and identify the undertaking(s),
provide written evidence of compliance in the form of a narrative, and be supported by exhibits sufficient to demonstrate compliance. The certification and supporting material shall be submitted to the SEC no later than sixty (60) days from the date of the completion
of the undertakings.&lt;/span&gt;&lt;/p&gt;

</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:LitigationSettlementAmountAwardedToOtherParty
      contextRef="From2024-06-012024-06-20"
      decimals="0"
      id="Fact000881"
      unitRef="USD">400000</us-gaap:LitigationSettlementAmountAwardedToOtherParty>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
