<SEC-DOCUMENT>0001387131-23-010026.txt : 20230821
<SEC-HEADER>0001387131-23-010026.hdr.sgml : 20230821
<ACCEPTANCE-DATETIME>20230821172841
ACCESSION NUMBER:		0001387131-23-010026
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		64
CONFORMED PERIOD OF REPORT:	20230630
FILED AS OF DATE:		20230821
DATE AS OF CHANGE:		20230821

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			CPI AEROSTRUCTURES INC
		CENTRAL INDEX KEY:			0000889348
		STANDARD INDUSTRIAL CLASSIFICATION:	AIRCRAFT PART & AUXILIARY EQUIPMENT, NEC [3728]
		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:		231190195

	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_063023.htm
<DESCRIPTION>QUARTERLY REPORT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:us-roles="http://fasb.org/us-roles/2023" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:srt="http://fasb.org/srt/2023" xmlns:cvu="http://cpiaero.com/20230630">
<head>
     <title></title>
<meta http-equiv="Content-Type" content="text/html" />
</head>
<!-- Field: Set; Name: xdx; ID: xdx_02C_US%2DGAAP%2D2023 -->
<!-- Field: Set; Name: xdx; ID: xdx_038_cvu_cpiaero.com_20230630 -->
<!-- Field: Set; Name: xdx; ID: xdx_04C_20230101_20230630 -->
<!-- Field: Set; Name: xdx; ID: xdx_050_edei%2D%2DEntityCentralIndexKey_0000889348 -->
<!-- Field: Set; Name: xdx; ID: xdx_059_edei%2D%2DAmendmentFlag_false -->
<!-- Field: Set; Name: xdx; ID: xdx_051_edei%2D%2DCurrentFiscalYearEndDate_%2D%2DLS0xMi0zMQ== -->
<!-- Field: Set; Name: xdx; ID: xdx_053_edei%2D%2DDocumentFiscalYearFocus_2023 -->
<!-- Field: Set; Name: xdx; ID: xdx_058_edei%2D%2DDocumentFiscalPeriodFocus_Q2 -->
<!-- Field: Set; Name: xdx; ID: xdx_076_XDX_P%2D%2D\Clients\CPI Aero\2023\q23%2D11449__10%2DQ__iXBRL\cpi%2D10q__063023.xdx -->
<!-- Field: Set; Name: xdx; ID: xdx_07B_SO_P%2D%2D\Clients\CPI Aero\2023\q23%2D11449__10%2DQ__iXBRL\cpi%2D10q__063023.xdxs -->
<!-- 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="From2023-01-01to2023-06-30" name="dei:EntityCentralIndexKey">0000889348</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:AmendmentFlag">false</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:CurrentFiscalYearEndDate">--12-31</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:DocumentFiscalYearFocus">2023</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:DocumentFiscalPeriodFocus">Q2</ix:nonNumeric>
  <ix:nonFraction name="us-gaap:InsuranceSettlementsReceivableCurrent" contextRef="AsOf2023-06-30" id="xdx2ixbrl0051" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:LitigationReserveCurrent" contextRef="AsOf2023-06-30" id="xdx2ixbrl0099" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0271" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-03-31_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0272" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2022-01-012022-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0278" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0290" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-04-012022-06-30_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0291" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2022-04-012022-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0297" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0316" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-03-31_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0317" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0323" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember" id="xdx2ixbrl0335" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-04-012023-06-30_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0336" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationForfeited" contextRef="From2023-04-012023-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0344" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2023-04-012023-06-30_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0351" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" contextRef="From2022-01-012022-06-30" id="xdx2ixbrl0382" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ProvisionForLoanAndLeaseLosses" contextRef="From2023-01-01to2023-06-30" id="xdx2ixbrl0384" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PaymentsOfDebtIssuanceCosts" contextRef="From2022-01-012022-06-30" id="xdx2ixbrl0448" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="From2023-01-01to2023-06-30" id="xdx2ixbrl0471" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="From2022-01-012022-06-30" id="xdx2ixbrl0472" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" contextRef="AsOf2022-12-31_us-gaap_RestrictedStockUnitsRSUMember" id="xdx2ixbrl0590" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" contextRef="AsOf2022-12-31_us-gaap_RestrictedStockUnitsRSUMember" id="xdx2ixbrl0592" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" contextRef="From2023-01-012023-06-30_us-gaap_RestrictedStockMember" id="xdx2ixbrl0610" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" contextRef="From2023-01-012023-06-30_us-gaap_RestrictedStockMember" id="xdx2ixbrl0612" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  </ix:hidden>
 <ix:references>
  <link:schemaRef xlink:href="cvu-20230630.xsd" xlink:type="simple" />
  </ix:references>
 <ix:resources>
    <xbrli:context id="From2023-01-01to2023-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-08-17">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-08-17</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="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="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="From2022-04-012022-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_custom_UnrestrictedSharesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">cvu:UnrestrictedSharesMember</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="From2022-04-012022-06-30_custom_UnrestrictedSharesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">cvu:UnrestrictedSharesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_UnrestrictedSharesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">cvu:UnrestrictedSharesMember</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="From2022-01-012022-06-30_custom_UnrestrictedSharesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">cvu:UnrestrictedSharesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_custom_RestrictedSharesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">cvu:RestrictedSharesMember</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="From2022-04-012022-06-30_custom_RestrictedSharesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">cvu:RestrictedSharesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_RestrictedSharesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">cvu:RestrictedSharesMember</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="From2022-01-012022-06-30_custom_RestrictedSharesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">cvu:RestrictedSharesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-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>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-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>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-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>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-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="From2022-01-012022-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>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-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>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-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>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-012022-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>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-012022-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>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-04-012022-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>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-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="AsOf2022-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>2022-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-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>2022-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-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>2022-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-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>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-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>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-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>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</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="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="From2023-04-012023-06-30_custom_AerostructureMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:AerostructureMember</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="From2022-04-012022-06-30_custom_AerostructureMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:AerostructureMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_AerostructureMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:AerostructureMember</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="From2022-01-012022-06-30_custom_AerostructureMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:AerostructureMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_custom_AerosystemsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:AerosystemsMember</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="From2022-04-012022-06-30_custom_AerosystemsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:AerosystemsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_AerosystemsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:AerosystemsMember</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="From2022-01-012022-06-30_custom_AerosystemsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:AerosystemsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-04-012023-06-30_custom_KittingAndSupplyChainManagementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:KittingAndSupplyChainManagementMember</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="From2022-04-012022-06-30_custom_KittingAndSupplyChainManagementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:KittingAndSupplyChainManagementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_KittingAndSupplyChainManagementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:KittingAndSupplyChainManagementMember</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="From2022-01-012022-06-30_custom_KittingAndSupplyChainManagementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:KittingAndSupplyChainManagementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-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="From2022-04-012022-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>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-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="From2022-01-012022-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>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-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="From2022-04-012022-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>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-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="From2022-01-012022-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>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_2023-07-01">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
            <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2023-07-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
          </xbrldi:typedMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </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="From2022-04-012022-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>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-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="From2022-01-012022-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>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-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="From2022-04-012022-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>2022-04-01</xbrli:startDate>
        <xbrli:endDate>2022-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="From2022-01-012022-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>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-06-30_custom_ForfeitedRestrictedStockMember_us-gaap_SellingGeneralAndAdministrativeExpensesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">cvu:ForfeitedRestrictedStockMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-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>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-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>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-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>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_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>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-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>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-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>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_us-gaap_CarryingReportedAmountFairValueDisclosureMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:CarryingReportedAmountFairValueDisclosureMember</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_EstimateOfFairValueFairValueDisclosureMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:EstimateOfFairValueFairValueDisclosureMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_CarryingReportedAmountFairValueDisclosureMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:CarryingReportedAmountFairValueDisclosureMember</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_EstimateOfFairValueFairValueDisclosureMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:EstimateOfFairValueFairValueDisclosureMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-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="From2023-03-212023-03-23_custom_RevolvingLoanAndTermLoanMember_custom_BankUnitedMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cvu:RevolvingLoanAndTermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-03-21</xbrli:startDate>
        <xbrli:endDate>2023-03-23</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-23_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>2023-03-23</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-23_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>2023-03-23</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-23_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>2023-03-23</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-03-212023-03-23_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>2023-03-21</xbrli:startDate>
        <xbrli:endDate>2023-03-23</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-03-212023-03-23_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_FirstInstallmentMember">
      <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:FirstInstallmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-03-21</xbrli:startDate>
        <xbrli:endDate>2023-03-23</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-03-212023-03-23_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_SecondInstallmentMember">
      <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:SecondInstallmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-03-21</xbrli:startDate>
        <xbrli:endDate>2023-03-23</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-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>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-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>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-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>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_custom_BankUnitedMember_custom_RevolvingLoanAndTermLoanMember_us-gaap_PrimeRateMember">
      <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:RevolvingLoanAndTermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</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-06-30_us-gaap_PrimeRateMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</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_custom_BankUnitedMember_custom_RevolvingLoanAndTermLoanMember">
      <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:RevolvingLoanAndTermLoanMember</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_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-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-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>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_TermLoanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cvu:TermLoanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_TermLoanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cvu:TermLoanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2016-03-252023-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>2023-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="From2022-01-012022-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>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-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>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-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>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-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>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-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>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-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>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_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-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-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>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-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>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-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>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-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>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-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>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_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-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-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>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_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-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-06-30_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFiveMember">
      <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:CustomerFiveMember</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="From2022-01-012022-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>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-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>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-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>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-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>2022-01-01</xbrli:startDate>
        <xbrli:endDate>2022-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-05-192021-05-20">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-05-19</xbrli:startDate>
        <xbrli:endDate>2021-05-20</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-05-162023-05-17">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889348</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-05-16</xbrli:startDate>
        <xbrli:endDate>2023-05-17</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="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#160;</p>

<!-- Field: Rule-Page --><div style="text-align: left"><div style="border-top: Black 4pt solid; border-bottom: Black 1pt 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: center">&#160;</p>

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

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

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

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

<p style="font: 18pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>FORM <span id="xdx_904_edei--DocumentType_c20230101__20230630_zpi3IVnwWZn8"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:DocumentType">10-Q</ix:nonNumeric></span></b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#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: 5%; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 12pt"><b><span id="xdx_90B_edei--DocumentQuarterlyReport_c20230101__20230630_z9qOa7Ib4emc"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" format="ixt:booleantrue" 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-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">For the quarterly period ended <span id="xdx_90B_edei--DocumentPeriodEndDate_c20230101__20230630_zXm2ZlK3v3m9"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" format="ixt:datemonthdayyearen" name="dei:DocumentPeriodEndDate">June 30,
2023</ix:nonNumeric></span></p>

<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"><b>OR</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#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: 5%"><span style="font-family: Times New Roman, Times, Serif; font-size: 12pt"><b><span id="xdx_908_edei--DocumentTransitionReport_c20230101__20230630_zvcJA5pfzV9i"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" format="ixt:booleanfalse" 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-size: 12pt">&#160;</span></td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">For the transition period from ___________
to __________</p>

<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">Commission File Number: <span id="xdx_90B_edei--EntityFileNumber_c20230101__20230630_zwPVXILaozw5"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:EntityFileNumber">1-11398</ix:nonNumeric></span></p>

<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"><img src="cpiaerologo.jpg" alt="" /></p>

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

<p style="font: 24pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b><span id="xdx_907_edei--EntityRegistrantName_c20230101__20230630_zBbCwwDifUYd"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:EntityRegistrantName">CPI AEROSTRUCTURES, INC.</ix:nonNumeric></span></b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#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%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline"><span id="xdx_90F_edei--EntityIncorporationStateCountryCode_c20230101__20230630_zDXqIQILn1oj"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" format="ixt-sec:stateprovnameen" name="dei:EntityIncorporationStateCountryCode">New York</ix:nonNumeric></span></span></span></td>
    <td style="width: 50%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline"><span id="xdx_901_edei--EntityTaxIdentificationNumber_c20230101__20230630_zzMyNSjxKVE4"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:EntityTaxIdentificationNumber">11-2520310</ix:nonNumeric></span></span></span></td></tr>
<tr style="vertical-align: top">
    <td style="padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(State or other jurisdiction</span></td>
    <td style="padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(IRS Employer Identification Number)</span></td></tr>
<tr style="vertical-align: top">
    <td style="padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">of incorporation or organization)</span></td>
    <td style="padding-right: 5.4pt; padding-left: 5.4pt">&#160;</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%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline"><span id="xdx_904_edei--EntityAddressAddressLine1_c20230101__20230630_zEFpCWrWiNC2"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:EntityAddressAddressLine1">91 Heartland Blvd.</ix:nonNumeric></span>, <span id="xdx_90A_edei--EntityAddressCityOrTown_c20230101__20230630_zjXm8IiXj6Z"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:EntityAddressCityOrTown">Edgewood</ix:nonNumeric></span>, <span id="xdx_901_edei--EntityAddressStateOrProvince_c20230101__20230630_z1I4vBQPeEi6"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:EntityAddressStateOrProvince">NY</ix:nonNumeric></span></span></b></span></td>
    <td style="width: 50%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline"><span id="xdx_90A_edei--EntityAddressPostalZipCode_c20230101__20230630_zX0XiySQOu9h"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:EntityAddressPostalZipCode">11717</ix:nonNumeric></span></span></b></span></td></tr>
<tr style="vertical-align: top">
    <td style="padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Address of principal executive offices)</span></td>
    <td style="padding-right: 5.4pt; padding-left: 5.4pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(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 id="xdx_902_edei--CityAreaCode_c20230101__20230630_zoCwO1tHEyy5"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:CityAreaCode">(631)</ix:nonNumeric></span> <span id="xdx_900_edei--LocalPhoneNumber_c20230101__20230630_zCFpotcF3FWd"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:LocalPhoneNumber">586-5200</ix:nonNumeric></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&#160;</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; padding-top: 1.5pt; padding-right: 1.5pt; padding-left: 1.5pt"><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%; padding-top: 1.5pt; padding-right: 1.5pt; padding-left: 1.5pt; 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%; padding-top: 1.5pt; padding-right: 1.5pt; padding-left: 1.5pt; 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%; padding-top: 1.5pt; padding-right: 1.5pt; padding-left: 1.5pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Name of each exchange on which registered</span></td></tr>
<tr style="vertical-align: bottom">
    <td style="border-bottom: black 1pt solid; border-left: black 1pt solid; padding-top: 1.5pt; padding-right: 1.5pt; padding-left: 1.5pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_905_edei--Security12bTitle_c20230101__20230630_zghFv4QnGif5"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" 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; padding-top: 1.5pt; padding-right: 1.5pt; padding-left: 1.5pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_904_edei--TradingSymbol_c20230101__20230630_zsJG42R9OcX1"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" 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; padding-top: 1.5pt; padding-right: 1.5pt; padding-left: 1.5pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_902_edei--SecurityExchangeName_c20230101__20230630_znsK3w0itOR8"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" format="ixt-sec:exchnameen" 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">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_904_edei--EntityCurrentReportingStatus_c20230101__20230630_zSAXVl3j2778"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:EntityCurrentReportingStatus">Yes</ix:nonNumeric></span> &#160;&#9746;&#160;&#160;No &#160;&#9744;&#160;</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">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_909_edei--EntityInteractiveDataCurrent_c20230101__20230630_zL4lTITExWaa"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" name="dei:EntityInteractiveDataCurrent">Yes</ix:nonNumeric></span> &#9746;&#160; No
&#9744;</p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#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: 52%; padding-left: 0.25in"><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 style="padding-left: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90C_edei--EntityFilerCategory_c20230101__20230630_zN9DgYDhg1t4"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" format="ixt-sec:entityfilercategoryen" 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_c20230101__20230630_zwXGu5KDDJri"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" format="ixt:booleantrue" name="dei:EntitySmallBusiness">&#9746;</ix:nonNumeric></span></span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Emerging growth company&#160;<span id="xdx_904_edei--EntityEmergingGrowthCompany_c20230101__20230630_zjcsTZLdqyrd"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" format="ixt:booleanfalse" name="dei:EntityEmergingGrowthCompany">&#9744;</ix:nonNumeric></span></span></td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">As of August 17, 2023, the registrant had
<span id="xdx_90D_edei--EntityCommonStockSharesOutstanding_iI_pid_uShares_c20230817_zg6hmcW9Jlg"><ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" contextRef="AsOf2023-08-17" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,639,244</ix:nonFraction></span> shares of common stock, $.001 par value, outstanding.</p>

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

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

<!-- Field: Page; Sequence: 1; Options: NewSection -->
    <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">&#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>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: right"><b>INDEX</b></td></tr>
<tr style="vertical-align: top">
    <td style="border-top: Black 4pt solid">&#160;</td>
    <td style="border-top: Black 4pt solid; text-align: right">&#160;</td></tr>
<tr style="vertical-align: top">
    <td><b><a href="#scmnpxa001">Part I - Financial Information</a></b></td>
    <td style="text-align: right">&#160;</td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td></tr>
<tr style="vertical-align: top">
    <td style="width: 95%"><a href="#scmnpxa002"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 1 &#8211; Consolidated Financial Statements (Unaudited)</span></a></td>
    <td style="width: 5%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3</span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td></tr>
<tr style="vertical-align: top">
    <td><a href="#scmnpxa003"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Condensed Consolidated Balance Sheets as of June 30, 2023 (Unaudited) and December 31, 2022</span></a></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3</span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td></tr>
<tr style="vertical-align: top">
    <td><a href="#scmnpxa004"><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, 2023 and 2022 (Unaudited) </span></a></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4</span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td></tr>
<tr style="vertical-align: top">
    <td><a href="#scmnpxa005"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Condensed Consolidated Statements of Shareholders&#8217; Equity (Deficit) for the Six Months ended June 30, 2023 and 2022 (Unaudited)</span></a></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">5</span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td></tr>
<tr style="vertical-align: top">
    <td><a href="#scmnpxa006"><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, 2023 and 2022 (Unaudited)</span></a></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">6</span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td></tr>
<tr style="vertical-align: top">
    <td><a href="#scmnpxa007"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Notes to Condensed Consolidated Financial Statements (Unaudited)</span></a></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">7</span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td></tr>
<tr style="vertical-align: top">
    <td><a href="#scmnpxa008"><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="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">21</span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td></tr>
<tr style="vertical-align: top">
    <td><a href="#scmnpxa009"><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="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">30</span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td></tr>
<tr style="vertical-align: top">
    <td><a href="#scmnpxa010"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 4 &#8211; Controls and Procedures</span></a></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">30</span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td></tr>
<tr style="vertical-align: top">
    <td><a href="#scmnpxa011"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Part II - Other Information</b></span></a></td>
    <td style="text-align: right">&#160;</td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td></tr>
<tr style="vertical-align: top">
    <td><a href="#scmnpxa012"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 1 &#8211; Legal Proceedings</span></a></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">33</span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td></tr>
<tr style="vertical-align: top">
    <td><a href="#scmnpxa013"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 1A &#8211; Risk Factors</span></a></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">33</span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td></tr>
<tr style="vertical-align: top">
    <td><a href="#scmnpxa014"><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="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">33</span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td></tr>
<tr style="vertical-align: top">
    <td><a href="#scmnpxa015"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 3 &#8211; Defaults Upon Senior Securities</span></a></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">33</span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td>&#160;</td></tr>
<tr style="vertical-align: top">
    <td><a href="#scmnpxa016"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 4 &#8211; Mine Safety Disclosures</span></a></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">33</span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td></tr>
<tr style="vertical-align: top">
    <td><a href="#scmnpxa017"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 5 &#8211; Other Information</span></a></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">33</span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td></tr>
<tr style="vertical-align: top">
    <td><a href="#scmnpxa018"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item 6 &#8211; Exhibits</span></a></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">34</span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td></tr>
<tr style="vertical-align: top">
    <td><a href="#scmnpxa019"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Signatures</span></a></td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">35</span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td></tr>
<tr style="vertical-align: top">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Exhibits</span></td>
    <td style="text-align: right">&#160;</td></tr>
</table>

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

<!-- Field: Page; Sequence: 2 -->
    <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">&#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="margin-top: 0; margin-bottom: 0">&#160;</p>



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

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

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

<table cellspacing="0" cellpadding="0" style="font: 6pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: top; background-color: black">
    <td style="width: 100%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: justify">&#160;</td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

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

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

<table cellpadding="0" cellspacing="0" id="xdx_302_111_zDtdUPeh4z7g" summary="xdx: Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited)" 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">&#160;</td>
    <td colspan="2" id="xdx_495_20230630_zS6WX89K2Kl7" style="font-weight: bold; text-align: center">June 30,</td><td style="font-weight: bold">&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_490_20221231_zOUUc6Fupopb">&#160;</td><td>&#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">2023 <br /> (Unaudited)</td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt; font-weight: bold">&#160;</td><td style="border-bottom: Black 1pt solid; 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"><b>December 31,</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>2022</b></p></td><td style="padding-bottom: 1pt">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: center">&#160;</td><td>&#160;</td></tr>
<tr id="xdx_40E_eus-gaap--AssetsAbstract_iB_zR96VbR78kt9" style="vertical-align: bottom">
    <td style="font-weight: bold">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_40D_eus-gaap--AssetsCurrentAbstract_i01B_zMGseB0n2M3d" style="vertical-align: bottom">
    <td style="text-align: left">Current Assets:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_400_eus-gaap--Cash_i02I_maCzt3F_z2A3eA0wvDMj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; padding-left: 9pt">Cash</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:Cash" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,080,672</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:Cash" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,847,225</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr id="xdx_40A_eus-gaap--AccountsReceivableNetCurrent_i02I_maCzt3F_z1dJnniycmxl" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 9pt">Accounts receivable, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,621,301</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:AccountsReceivableNetCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,857,772</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40B_eus-gaap--InsuranceSettlementsReceivableCurrent_i02I_maCzt3F_zuxP8B7TxB12" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 9pt">Insurance recovery receivable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0051">&#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:InsuranceSettlementsReceivableCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,600,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40E_eus-gaap--ContractWithCustomerAssetNetCurrent_i02I_maCzt3F_zhqhP87gjLi5" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 9pt">Contract assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetCurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">30,962,061</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:ContractWithCustomerAssetNetCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">27,384,540</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_400_eus-gaap--InventoryNet_i02I_maCzt3F_zTLk4tn5i0Ka" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 9pt">Inventory</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,918,906</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:InventoryNet" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,493,069</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_406_eus-gaap--IncomeTaxesReceivable_i02I_maCzt3F_zToj9dY7CWAl" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 9pt">Refundable income taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxesReceivable" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">40,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:IncomeTaxesReceivable" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">40,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40B_eus-gaap--PrepaidExpenseAndOtherAssetsCurrent_i02I_maCzt3F_zikcgaZ7aW2j" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 9pt">Prepaid expenses and other current assets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">565,714</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">975,830</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
<tr id="xdx_409_eus-gaap--AssetsCurrent_i02TI_mtCzt3F_maCzQST_z9Dtrg4F0t8b" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Total Current Assets</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">45,188,654</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">43,198,436</ix:nonFraction></td><td style="font-weight: bold; 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></tr>
<tr id="xdx_404_eus-gaap--OperatingLeaseRightOfUseAsset_i01I_maCzQST_zwCbKj8gfc29" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">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:OperatingLeaseRightOfUseAsset" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,646,483</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:OperatingLeaseRightOfUseAsset" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,526,627</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40D_eus-gaap--PropertyPlantAndEquipmentNet_i01I_maCzQST_zE0J0vNHB9wd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Property and equipment, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">950,732</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:PropertyPlantAndEquipmentNet" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,124,556</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_409_eus-gaap--DeferredIncomeTaxAssetsNet_i01I_maCzQST_zgJA6QO2modk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Deferred tax asset</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,279,101</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:DeferredIncomeTaxAssetsNet" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,574,463</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40C_eus-gaap--Goodwill_i01I_maCzQST_zvXMRKAUzPHg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Goodwill</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,784,254</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:Goodwill" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,784,254</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40A_eus-gaap--OtherAssetsNoncurrent_i01I_maCzQST_zQ6mhht0JvOj" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Other assets</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherAssetsNoncurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">234,334</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherAssetsNoncurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">238,744</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
<tr id="xdx_40C_eus-gaap--Assets_i01TI_mtCzQST_zUKS694Sh1a9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 2.5pt">Total Assets</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"><ix:nonFraction name="us-gaap:Assets" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">60,083,558</ix:nonFraction></td><td style="border-bottom: Black 2.5pt double; padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; 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"><ix:nonFraction name="us-gaap:Assets" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">59,447,080</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; 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></tr>
<tr id="xdx_405_eus-gaap--LiabilitiesAndStockholdersEquityAbstract_iB_zrxc41oEVXB" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">LIABILITIES AND SHAREHOLDERS&#8217; EQUITY</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_406_eus-gaap--LiabilitiesCurrentAbstract_i01B_z9KUGU723Ttg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Current Liabilities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40C_eus-gaap--AccountsPayableCurrent_i02I_maCzLwf_zWXOttT6J2De" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 9pt">Accounts payable</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,734,379</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:AccountsPayableCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,029,996</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40D_eus-gaap--AccruedLiabilitiesCurrent_i02I_maCzLwf_zmCRFCIB0Dv6" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 9pt">Accrued expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,314,339</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:AccruedLiabilitiesCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,344,590</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40B_eus-gaap--LitigationReserveCurrent_i02I_maCzLwf_zQAzXYtK5NLi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 9pt">Litigation settlement obligation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0099">&#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:LitigationReserveCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,600,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_404_eus-gaap--ContractWithCustomerLiabilityCurrent_i02I_maCzLwf_zrfCyO1gCzL3" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 9pt">Contract liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,605,354</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:ContractWithCustomerLiabilityCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,001,726</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40A_eus-gaap--LossContingencyAccrualCarryingValueCurrent_i02I_maCzLwf_z7xfQONxNPdi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 9pt">Loss reserve</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LossContingencyAccrualCarryingValueCurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">250,516</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:LossContingencyAccrualCarryingValueCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">576,549</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40F_eus-gaap--LinesOfCreditCurrent_i02I_maCzLwf_zXYV9xsOVHbh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 9pt">Current portion of line of credit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LinesOfCreditCurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,640,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:LinesOfCreditCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,200,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40B_eus-gaap--OtherLongTermDebtCurrent_i02I_maCzLwf_zaS2k2tiBuR7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 9pt">Current portion of long-term debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherLongTermDebtCurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">221,172</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:OtherLongTermDebtCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,719,766</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_403_eus-gaap--OperatingLeaseLiabilityCurrent_i02I_maCzLwf_zT7JVpywCmK1" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 9pt">Operating lease liabilities, current</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,921,803</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:OperatingLeaseLiabilityCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,817,811</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_402_eus-gaap--TaxesPayableCurrent_i02I_maCzLwf_zJ9rvNKVNYYf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 9pt">Income tax payable</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:TaxesPayableCurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,874</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:TaxesPayableCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,396</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
<tr id="xdx_402_eus-gaap--LiabilitiesCurrent_i02TI_mtCzLwf_maCz0Jd_z78YdMXbego9" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Total Current Liabilities</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">30,704,437</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">30,301,834</ix:nonFraction></td><td style="font-weight: bold; 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></tr>
<tr id="xdx_40A_eus-gaap--LongTermLineOfCredit_i01I_maCz0Jd_zArrZz1HhYo6" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Line of credit, net of current portion</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermLineOfCredit" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,360,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:LongTermLineOfCredit" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">19,800,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_409_eus-gaap--OperatingLeaseLiabilityNoncurrent_i01I_maCz0Jd_zl6hIdvAM893" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Long-term operating lease liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,121,087</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:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,077,235</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_404_eus-gaap--OtherLongTermDebtNoncurrent_i01I_maCz0Jd_zroaNJid8CTl" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt">Long-term debt, net of current portion</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:OtherLongTermDebtNoncurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">41,484</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherLongTermDebtNoncurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">70,981</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
<tr id="xdx_402_eus-gaap--Liabilities_i01TI_mtCz0Jd_maCzhsn_maLASEzqCH_zIf5QEJKeGLj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Total Liabilities</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:Liabilities" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">53,227,008</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:Liabilities" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">55,250,050</ix:nonFraction></td><td style="padding-bottom: 1pt; font-weight: bold; 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></tr>
<tr id="xdx_403_eus-gaap--StockholdersEquityAbstract_i01B_z8LCCgaWkZsa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Shareholders&#8217; Equity:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_408_eus-gaap--CommonStockValue_i02I_maCzK12_zp0hrdmVGXjg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-left: 9pt">Common stock - $<span id="xdx_90C_eus-gaap--CommonStockParOrStatedValuePerShare_iI_pid_uUSDPShares_c20230630_zVWeO8bngvx" title="Common stock, par value (in dollars per share)"><span id="xdx_905_eus-gaap--CommonStockParOrStatedValuePerShare_iI_pid_uUSDPShares_c20221231_z2DQrHutlnDl" title="Common stock, par value (in dollars per share)"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2023-06-30" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2022-12-31" decimals="INF" unitRef="USDPShares">.001</ix:nonFraction></ix:nonFraction></span></span> par value; authorized <span id="xdx_905_eus-gaap--CommonStockSharesAuthorized_iI_pid_uShares_c20230630_zyA8KdnXRXjf" title="Common stock, authorized"><span id="xdx_908_eus-gaap--CommonStockSharesAuthorized_iI_pid_uShares_c20221231_zGX9v62uE03c" title="Common stock, authorized"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">50,000,000</ix:nonFraction></ix:nonFraction></span></span> shares, <span id="xdx_903_eus-gaap--CommonStockSharesIssued_iI_pid_uShares_c20230630_zN42yPR1L4Vd" title="Common stock, issued"><span id="xdx_904_eus-gaap--CommonStockSharesOutstanding_iI_pid_uShares_c20230630_zeLnu07CBmZk" title="Common stock, outstanding"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,727,167</ix:nonFraction></ix:nonFraction></span></span> and <span id="xdx_90F_eus-gaap--CommonStockSharesIssued_iI_pid_uShares_c20221231_zyhQTqg0f4Rk" title="Common stock, issued"><span id="xdx_906_eus-gaap--CommonStockSharesOutstanding_iI_pid_uShares_c20221231_zWngP2QZsuw" title="Common stock, outstanding"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,506,795</ix:nonFraction></ix:nonFraction></span></span> shares, respectively, issued and outstanding</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,727</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:CommonStockValue" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,507</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_407_eus-gaap--AdditionalPaidInCapitalCommonStock_i02I_maCzK12_zjNAsifXVpk1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-left: 9pt">Additional paid-in capital</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AdditionalPaidInCapitalCommonStock" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">73,708,368</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:AdditionalPaidInCapitalCommonStock" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">73,189,449</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40A_eus-gaap--RetainedEarningsAccumulatedDeficit_i02I_maCzK12_zqrXfRjMjqee" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; padding-left: 9pt">Accumulated deficit</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:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">66,864,545</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt; text-align: left">)</td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right">(<ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">69,004,926</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">)</td></tr>
<tr id="xdx_401_eus-gaap--StockholdersEquity_i02TI_mtCzK12_maLASEzqCH_zrNoXR7YIPpj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1pt">Total Shareholders&#8217; Equity</td><td style="font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,856,550</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,197,030</ix:nonFraction></td><td style="padding-bottom: 1pt; font-weight: bold; text-align: left">&#160;</td></tr>
<tr id="xdx_409_eus-gaap--LiabilitiesAndStockholdersEquity_i01TI_mtLASEzqCH_zAIXrbXBVFp8" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 2.5pt">Total Liabilities and Shareholders&#8217; Equity</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"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">60,083,558</ix:nonFraction></td><td style="border-bottom: Black 2.5pt double; padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; 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"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">59,447,080</ix:nonFraction></td><td style="padding-bottom: 2.5pt; font-weight: bold; text-align: left">&#160;</td></tr>
</table>

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

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

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

<!-- Field: Page; Sequence: 3; Options: NewSection; Value: 3 -->
    <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 -->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: right">&#160;</p>




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><b><span id="scmnpxa004"></span>CONDENSED CONSOLIDATED STATEMENTS OF
OPERATIONS (UNAUDITED)</b></p>

<table cellpadding="0" cellspacing="0" id="xdx_302_113_ztTskUtitprf" 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_497_20230401__20230630_zKTVJMppTHab">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20220401__20220630_zAjj4M2C3cJ2">&#160;</td><td style="padding-bottom: 1pt">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td colspan="2" id="xdx_491_20230101__20230630_zCkpWr9CQ40g" 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_49B_20220101__20220630_zAjX4Nkohh37" 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"><b>For the Three Months Ended</b></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>June 30,</b></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">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">2022</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">2022</td><td style="padding-bottom: 1pt; font-weight: bold">&#160;</td></tr>
<tr id="xdx_403_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_maCzyZe_zXssoQaVFZt2" 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="From2023-04-012023-06-30" 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="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,925,406</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-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">42,564,223</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">39,060,503</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr id="xdx_407_eus-gaap--CostOfRevenue_msCzyZe_z9DNkh5ktxN3" 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="From2023-04-012023-06-30" 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="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">15,265,716</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-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">33,297,707</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">31,966,204</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
<tr id="xdx_401_eus-gaap--GrossProfit_iT_mtCzyZe_maCzaRW_zHd7AUZId4Fe" 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="From2023-04-012023-06-30" 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="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,659,690</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-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,266,516</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,094,299</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_406_eus-gaap--SellingGeneralAndAdministrativeExpense_msCzaRW_zxaqjICyCJRj" 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="From2023-04-012023-06-30" 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="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,697,392</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-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,675,538</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,835,049</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
<tr id="xdx_40D_eus-gaap--OperatingIncomeLoss_iT_mtCzaRW_maCzmt6_zU90TIrHmXUj" 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="From2023-04-012023-06-30" 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="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">962,298</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-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,590,978</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,259,250</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_40F_eus-gaap--InterestExpense_msCzmt6_zqBwlONL3jCg" 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="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">541,655</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:InterestExpense" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">438,437</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:InterestExpense" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,152,551</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:InterestExpense" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">767,045</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
<tr id="xdx_402_eus-gaap--IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_iT_mtCzmt6_maNILznK9_za0x0We1tBgl" 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="From2023-04-012023-06-30" 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="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">523,861</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-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,438,427</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">492,205</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_40A_eus-gaap--IncomeTaxExpenseBenefit_msNILznK9_zwVTLIVN4mwi" 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="From2023-04-012023-06-30" 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="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,225</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-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">298,046</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,500</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
<tr id="xdx_409_eus-gaap--NetIncomeLoss_iT_mtNILznK9_znAmNU2QQeVj" 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="From2023-04-012023-06-30" 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="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">517,636</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-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,140,381</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">484,705</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_404_eus-gaap--EarningsPerShareBasicAbstract_iB_za7tsEp4G6oc" style="vertical-align: bottom; background-color: White">
    <td style="text-decoration: underline">Income per common share, basic:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;&#160;Income per common share-unrestricted&#160;shares</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_981_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20230401__20230630__us-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_z84VN1DO3tj" title="Income per common share, basic" style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2023-04-012023-06-30_custom_UnrestrictedSharesMember" 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 id="xdx_98C_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20220401__20220630__us-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_z5MndCSwamp4" style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2022-04-012022-06-30_custom_UnrestrictedSharesMember" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.04</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_989_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20230101__20230630__us-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_zfc7l4Iv0NN8" style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2023-01-012023-06-30_custom_UnrestrictedSharesMember" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.17</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_986_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20220101__20220630__us-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_zr21dItxJTu8" style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2022-01-012022-06-30_custom_UnrestrictedSharesMember" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.04</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td>&#160;&#160;Income per common share-restricted shares</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98A_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20230401__20230630__us-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_zDHJVUAzKAhe" title="Income per common share, basic" style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2023-04-012023-06-30_custom_RestrictedSharesMember" 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 id="xdx_989_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20220401__20220630__us-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_zMtK8eR05cvl" style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2022-04-012022-06-30_custom_RestrictedSharesMember" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.04</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98D_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20230101__20230630__us-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_zLL0DYgjfA42" style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2023-01-012023-06-30_custom_RestrictedSharesMember" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.17</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_987_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20220101__20220630__us-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_zp1FgmBW1oy" style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2022-01-012022-06-30_custom_RestrictedSharesMember" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.04</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_402_eus-gaap--EarningsPerShareDilutedAbstract_iB_zT3JwZdlUPQg" style="vertical-align: bottom; background-color: White">
    <td>Income per common share, diluted</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--EarningsPerShareDiluted_i01_pp2p0_c20230401__20230630_zqDSEXqK5eRi" title="Income per common share, diluted" style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2023-04-012023-06-30" 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 id="xdx_98A_eus-gaap--EarningsPerShareDiluted_i01_pp2p0_c20220401__20220630_zIc3tcfcb3Si" style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.04</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_982_eus-gaap--EarningsPerShareDiluted_i01_pp2p0_c20230101__20230630_zXnQ3FLeXQH1" style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.17</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98F_eus-gaap--EarningsPerShareDiluted_i01_pp2p0_c20220101__20220630_zwTOxSRPGMc9" style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.04</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_409_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasicAbstract_iB_zjMdWdQjnKA7" style="vertical-align: bottom; background-color: White">
    <td style="text-decoration: underline; text-align: left">Shares used in computing income per common share, basic:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40D_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_i01_pp0p0_hus-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_zD7U1BvOXyQd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;&#160;Unrestricted shares</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_custom_UnrestrictedSharesMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">12,429,894</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="From2022-04-012022-06-30_custom_UnrestrictedSharesMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">12,305,939</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_custom_UnrestrictedSharesMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">12,412,068</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="From2022-01-012022-06-30_custom_UnrestrictedSharesMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">12,275,306</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_409_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_i01_pp0p0_hus-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_zyWRO6wkpRy4" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1pt">&#160;&#160;Restricted shares</td><td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2023-04-012023-06-30_custom_RestrictedSharesMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">128,899</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:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2022-04-012022-06-30_custom_RestrictedSharesMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">133,061</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:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2023-01-012023-06-30_custom_RestrictedSharesMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">127,584</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:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2022-01-012022-06-30_custom_RestrictedSharesMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">125,975</ix:nonFraction></td><td style="padding-bottom: 1pt; text-align: left">&#160;</td></tr>
<tr id="xdx_40D_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_i01_zdbEJWKpQf6i" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">&#160;&#160;&#160;&#160;Total shares</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,558,793</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">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,439,000</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">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,539,652</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">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,401,281</ix:nonFraction></td><td style="padding-bottom: 2.5pt; 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--WeightedAverageNumberOfDilutedSharesOutstanding_pp0p0_uShares_zBfmBTqYC7Ae" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Shares used in computing income per common share, diluted</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" 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="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">12,534,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:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">12,606,100</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">12,496,339</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: right">&#160;</p>

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

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


<!-- Field: Page; Sequence: 4; Value: 3 -->
    <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 -->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: right">&#160;</p>

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

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

<table cellpadding="0" cellspacing="0" id="xdx_302_114_z5Qp3Mz5FQL2" summary="xdx: Statement - CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS&apos; EQUITY (DEFICIT) (UNAUDITED)" 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">&#160;</td>
    <td colspan="2" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right">Common <br /> Stock <br /> Shares</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold">&#160;</td>
    <td colspan="2" id="xdx_4B7_us-gaap--StatementEquityComponentsAxis_us-gaap--CommonStockMember_z0iD8YaUHgQ5" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right">Common <br /> Stock <br /> Amount</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold">&#160;</td>
    <td colspan="2" id="xdx_4B4_us-gaap--StatementEquityComponentsAxis_us-gaap--AdditionalPaidInCapitalMember_zapi0xYdQ9wd" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right">Additional <br /> Paid-in <br /> Capital</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold">&#160;</td>
    <td colspan="2" id="xdx_4B2_us-gaap--StatementEquityComponentsAxis_us-gaap--RetainedEarningsMember_zY2rKnn6DXQ7" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right">Accumulated <br /> Deficit</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold">&#160;</td>
    <td colspan="2" id="xdx_4B0_zVjYaWgaal25" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right">Total <br /> Shareholders&#8217;<br /> Equity (Deficit)</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold">&#160;</td></tr>
<tr id="xdx_430_c20220101__20220331_eus-gaap--StockholdersEquity_iS_zJqNPtMXmxca" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 25%; text-indent: -9pt; padding-left: 9pt">Balance at January 1, 2022</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--CommonStockSharesOutstanding_iS_pid_uShares_c20220101__20220331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zv3v3717Agtc" title="Beginning balance (in shares)" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2021-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,335,683</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:StockholdersEquity" contextRef="AsOf2021-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,336</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:StockholdersEquity" contextRef="AsOf2021-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">72,833,742</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:StockholdersEquity" contextRef="AsOf2021-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">78,181,151</ix:nonFraction></td><td style="width: 1%; text-align: left">)</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">5,335,073</ix:nonFraction></td><td style="width: 1%; text-align: left">)</td></tr>
<tr id="xdx_438_c20220101__20220331_eus-gaap--NetIncomeLoss_zbVwO7Q730Ik" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -9pt; padding-left: 9pt">Net Loss</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: xdx2ixbrl0271">&#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: 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">(<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-03-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">32,931</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:NetIncomeLoss" contextRef="From2022-01-012022-03-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">32,931</ix:nonFraction></td><td style="text-align: left">)</td></tr>
<tr id="xdx_433_c20220101__20220331_eus-gaap--StockIssuedDuringPeriodValueShareBasedCompensation_zIAjZVeFWGu8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt; text-indent: -9pt; padding-left: 9pt">Stock-based compensation expense</td><td>&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--StockIssuedDuringPeriodSharesShareBasedCompensation_pid_uShares_c20220101__20220331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zupLRbFTr2e5" title="Stock-based compensation expense (in shares)" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" contextRef="From2022-01-012022-03-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">47,527</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:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2022-01-012022-03-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">47</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:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2022-01-012022-03-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">25,835</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: 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:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2022-01-012022-03-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">25,882</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
<tr id="xdx_436_c20220101__20220331_eus-gaap--StockholdersEquity_iE_zODkFd2iRgyh" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-indent: -9pt; padding-left: 9pt">Balance at March 31, 2022</td><td>&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--CommonStockSharesOutstanding_iE_pid_uShares_c20220101__20220331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zmSFc2AOVTta" title="Beginning balance (in shares)" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2022-03-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,383,210</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="AsOf2022-03-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,383</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="AsOf2022-03-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">72,859,577</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="AsOf2022-03-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">78,214,082</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="AsOf2022-03-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">5,342,122</ix:nonFraction></td><td style="border-bottom: Black 2.5pt double; text-align: left">)</td></tr>
<tr id="xdx_434_c20220401__20220630_eus-gaap--NetIncomeLoss_zBJ51QTyUIwj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -9pt; padding-left: 9pt">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: xdx2ixbrl0290">&#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: xdx2ixbrl0291">&#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="From2022-04-012022-06-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">517,636</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="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">517,636</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_431_c20220401__20220630_eus-gaap--StockIssuedDuringPeriodValueShareBasedCompensation_z7NQLS8yx6H" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1pt; text-indent: -9pt; padding-left: 9pt">Stock-based compensation expense</td><td>&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--StockIssuedDuringPeriodSharesShareBasedCompensation_pid_uShares_c20220401__20220630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z1P54E4M4MQ8" title="Stock-based compensation expense (in shares)" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">66,117</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:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">66</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:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2022-04-012022-06-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">137,432</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: xdx2ixbrl0297">&#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:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">137,498</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
<tr id="xdx_43B_c20220401__20220630_eus-gaap--StockholdersEquity_iE_zqeuAvwXIEs8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-indent: -9pt; padding-left: 9pt">Balance at June 30, 2022</td><td>&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--CommonStockSharesOutstanding_iE_pid_uShares_c20220401__20220630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zejRhyom2IF6" title="Beginning balance (in shares)" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2022-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,449,327</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="AsOf2022-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,449</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="AsOf2022-06-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">72,997,009</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="AsOf2022-06-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">77,696,446</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="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">4,686,988</ix:nonFraction></td><td style="border-bottom: Black 2.5pt double; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="text-indent: -9pt; padding-left: 9pt">&#160;</td><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_437_c20230101__20230331_eus-gaap--StockholdersEquity_iS_zvDZlpEoAR1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -9pt; padding-left: 9pt">Balance at January 1, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--CommonStockSharesOutstanding_iS_pid_uShares_c20230101__20230331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zdcPq4VzWhw5" title="Beginning balance (in shares)" style="text-align: right"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2022-12-31_us-gaap_CommonStockMember" 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" 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" 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" 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">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,197,030</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_43A_c20230101__20230331_eus-gaap--NetIncomeLoss_zmAMlZJU46t4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -9pt; padding-left: 9pt">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: xdx2ixbrl0316">&#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: xdx2ixbrl0317">&#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" 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" format="ixt:numdotdecimal" decimals="0" unitRef="USD">983,305</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_430_c20230101__20230331_eus-gaap--StockIssuedDuringPeriodValueShareBasedCompensation_zGmle1b5x4Cj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt; text-indent: -9pt; padding-left: 9pt">Stock-based compensation expense</td><td>&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--StockIssuedDuringPeriodSharesShareBasedCompensation_pid_uShares_c20230101__20230331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zpcZn2QTqcLg" title="Stock-based compensation expense (in shares)" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">19,247</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:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">19</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:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2023-01-012023-03-31_us-gaap_AdditionalPaidInCapitalMember" 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: xdx2ixbrl0323">&#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:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2023-01-012023-03-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">338,923</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
<tr id="xdx_43E_c20230101__20230331_eus-gaap--StockholdersEquity_iE_ziOIq4nbj6Q9" style="vertical-align: bottom; background-color: White">
    <td style="text-indent: -9pt; padding-left: 9pt">Balance at March 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--CommonStockSharesOutstanding_iE_pid_uShares_c20230101__20230331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zYmWCWF66lui" title="Beginning balance (in shares)" style="text-align: right"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2023-03-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,526,042</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="AsOf2023-03-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,526</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="AsOf2023-03-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">73,528,353</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="AsOf2023-03-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">68,021,621</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="AsOf2023-03-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,519,258</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_439_c20230401__20230630_eus-gaap--NetIncomeLoss_z8jG3OjORYGi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -9pt; padding-left: 9pt">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: xdx2ixbrl0335">&#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: xdx2ixbrl0336">&#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" 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 id="xdx_987_eus-gaap--NetIncomeLoss_c20230401__20230630_zw1ORxXRlB0j" title="Net Income (Loss)" style="text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,157,076</ix:nonFraction></ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_432_c20230401__20230630_eus-gaap--StockIssuedDuringPeriodValueShareBasedCompensationForfeited_iNP3us-gaap--NetIncomeLoss_di_zHv5FFAKkpYg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -9pt; padding-left: 9pt">Common stock forfeited</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--StockIssuedDuringPeriodSharesShareBasedCompensationForfeited_iNP3us-gaap--StockIssuedDuringPeriodValueShareBasedCompensationForfeited_pid_di_uShares_c20230401__20230630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zGJpaRdmzcia" title="Common stock forfeited (in shares)" style="text-align: right">(<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationForfeited" contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">41,073</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:StockIssuedDuringPeriodValueShareBasedCompensationForfeited" contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">41</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:StockIssuedDuringPeriodValueShareBasedCompensationForfeited" contextRef="From2023-04-012023-06-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,406</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: xdx2ixbrl0344">&#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:StockIssuedDuringPeriodValueShareBasedCompensationForfeited" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,447</ix:nonFraction></td><td style="text-align: left">)</td></tr>
<tr id="xdx_43B_c20230401__20230630_eus-gaap--StockIssuedDuringPeriodValueShareBasedCompensation_zYHxBtecIHP5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt; text-indent: -9pt; padding-left: 9pt">Stock-based compensation expense</td><td>&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--StockIssuedDuringPeriodSharesShareBasedCompensation_pid_uShares_c20230401__20230630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zVrPLQi2kgV8" title="Stock-based compensation expense (in shares)" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">242,198</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:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">242</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:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2023-04-012023-06-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">187,421</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: xdx2ixbrl0351">&#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:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">187,663</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
<tr id="xdx_436_c20230401__20230630_eus-gaap--StockholdersEquity_iE_zcO9m9F1M48k" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-indent: -9pt; padding-left: 9pt">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_980_eus-gaap--CommonStockSharesOutstanding_iE_pid_uShares_c20230401__20230630__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zb5PpDPGmGPg" title="Beginning 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" 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" 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" 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" 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" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,856,550</ix:nonFraction></td><td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td></tr>
</table>


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

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

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


<!-- Field: Page; Sequence: 5; Value: 3 -->
    <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 -->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 -->

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><b><span id="scmnpxa006"></span>CONDENSED CONSOLIDATED STATEMENTS OF CASH
FLOWS (UNAUDITED)</b></p>

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

<table cellpadding="0" cellspacing="0" id="xdx_30E_122_z08yl6C7whya" 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>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_494_20230101__20230630_zuc06pERJQGi" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td>
    <td colspan="2" id="xdx_49A_20220101__20220630_zZePWk6jpR7a" style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: center">&#160;</td><td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#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>&#160;</td><td style="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><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">2022</td><td style="border-bottom: Black 1pt solid; font-weight: bold">&#160;</td></tr>
<tr id="xdx_40B_eus-gaap--NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_iB_zKDnl28ljuoi" style="vertical-align: bottom">
    <td style="font-weight: bold; text-align: left; text-indent: -9pt; padding-left: 9pt">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_40C_eus-gaap--NetIncomeLoss_i01_maCzge9_maNCPBUzHm7_maNCPBUz7Jf_zmbvgAs0vAaj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; text-align: left; text-indent: -9pt; padding-left: 9pt">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="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,140,381</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">484,705</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr id="xdx_40A_eus-gaap--AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_i01B_zlTC69BjDgoc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -9pt; padding-left: 9pt">Adjustments to reconcile net income to net cash provided by (used in) 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_401_eus-gaap--DepreciationDepletionAndAmortization_i02_maNCPBUz7Jf_zC1Ffn7OUxZ4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -9pt; 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="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">233,090</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">343,750</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_400_eus-gaap--AmortizationOfFinancingCosts_i02_maNCPBUz7Jf_ztcpAGkHyUTi" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -9pt; 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="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">58,743</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">46,888</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40F_eus-gaap--ShareBasedCompensation_i02_maNCPBUz7Jf_z0Q3fnTBb0c2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -9pt; 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="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">519,139</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">163,380</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40D_eus-gaap--IncreaseDecreaseInDeferredIncomeTaxes_i02N_di_msNCPBUz7Jf_zrwupxqqhjth" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -9pt; 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="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">295,362</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: xdx2ixbrl0382">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_403_eus-gaap--ProvisionForLoanAndLeaseLosses_i02_maNCPBUz7Jf_zxEdoFm1r4ha" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -9pt; padding-left: 0.25in">Bad debt expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0384">&#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:ProvisionForLoanAndLeaseLosses" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,189</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_400_eus-gaap--IncreaseDecreaseInOperatingCapitalAbstract_i02B_zb2B8XuG5KBc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -9pt; 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_405_eus-gaap--IncreaseDecreaseInAccountsReceivable_i03N_di_msNCPBUz7Jf_zZu6qxV70Aq" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -9pt; padding-left: 27pt">(Increase) decrease 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="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,763,529</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">117,972</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_403_eus-gaap--IncreaseDecreaseInInsuranceSettlementsReceivable_i03N_di_msNCPBUz7Jf_zPeL9bRPZsWc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -9pt; padding-left: 27pt">Decrease (increase) in insurance receivable</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-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">3,600,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:IncreaseDecreaseInInsuranceSettlementsReceivable" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">650,693</ix:nonFraction></td><td style="text-align: left">)</td></tr>
<tr id="xdx_401_eus-gaap--IncreaseDecreaseInContractWithCustomerAsset_i03N_di_msNCPBUz7Jf_zgfpeEqvfrYi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -9pt; padding-left: 27pt">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="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,577,521</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:IncreaseDecreaseInContractWithCustomerAsset" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,031,844</ix:nonFraction></td><td style="text-align: left">)</td></tr>
<tr id="xdx_40A_eus-gaap--IncreaseDecreaseInInventories_i03N_di_msNCPBUz7Jf_zpF4PzBdVyI9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -9pt; padding-left: 27pt">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="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">574,163</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">441,144</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_408_eus-gaap--IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_i03N_di_msNCPBUz7Jf_zz6oKA7ck6Xj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -9pt; padding-left: 27pt">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="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">410,116</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">116,107</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40F_eus-gaap--IncreaseDecreaseInIncomeTaxesReceivable_i03N_di_msNCPBUz7Jf_zoomljM3Dzjl" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; text-indent: -9pt; padding-left: 27pt">Increase in refundable income taxes</td><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">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInIncomeTaxesReceivable" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,335</ix:nonFraction>)</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_408_eus-gaap--IncreaseDecreaseInLeasingReceivables_i03N_di_msNCPBUz7Jf_zhXM56mg1Yv7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -9pt; padding-left: 27pt">Decrease in operating 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:IncreaseDecreaseInLeasingReceivables" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">880,144</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:IncreaseDecreaseInLeasingReceivables" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">858,812</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_402_eus-gaap--IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_i03_maNCPBUzHm7_maNCPBUz7Jf_zRSvgHRUGf3e" style="vertical-align: bottom; background-color: white">
    <td style="text-align: left; text-indent: -9pt; padding-left: 27pt">Increase (decrease) 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="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,674,132</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:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">126,884</ix:nonFraction></td><td style="text-align: left">)</td></tr>
<tr id="xdx_403_eus-gaap--IncreaseDecreaseInContractWithCustomerLiability_i03_maNCPBUz7Jf_zrCdb7nDsJq9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -9pt; padding-left: 27pt">Increase (decrease) 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="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,603,628</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:IncreaseDecreaseInContractWithCustomerLiability" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">94,934</ix:nonFraction></td><td style="text-align: left">)</td></tr>
<tr id="xdx_403_ecustom--IncreaseDecreaseInLitigationSettlementObligation_i03_maNCPBUzHm7_maNCPBUz7Jf_zmqYljsBKglg" style="vertical-align: bottom; background-color: white">
    <td style="text-align: left; text-indent: -9pt; padding-left: 27pt">(Decrease) increase in settlement of litigation obligation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="cvu:IncreaseDecreaseInLitigationSettlementObligation" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">3,600,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"><ix:nonFraction name="cvu:IncreaseDecreaseInLitigationSettlementObligation" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">596,741</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40A_eus-gaap--IncreaseDecreaseInOperatingLeaseLiability_i03_maNCPBUz7Jf_zXLJV0zTXDZ2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -9pt; padding-left: 27pt">Decrease in 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="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">852,156</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">780,274</ix:nonFraction></td><td style="text-align: left">)</td></tr>
<tr id="xdx_407_eus-gaap--IncreaseDecreaseInAccruedIncomeTaxesPayable_i03_maNCPBUz7Jf_z1Eq8yLa7MR5" style="vertical-align: bottom; background-color: white">
    <td style="text-align: left; text-indent: -9pt; padding-left: 27pt">Increase (decrease) in income taxes payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,478</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:IncreaseDecreaseInAccruedIncomeTaxesPayable" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">5,165</ix:nonFraction></td><td style="text-align: left">)</td></tr>
<tr id="xdx_401_ecustom--IncreaseDecreaseInLossReserve_i03_maNCPBUz7Jf_z6j6QWzHEoMi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt; text-indent: -9pt; padding-left: 27pt">Decrease in loss reserve</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="cvu:IncreaseDecreaseInLossReserve" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">326,033</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="cvu:IncreaseDecreaseInLossReserve" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">577,166</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; text-align: left">)</td></tr>
<tr id="xdx_405_eus-gaap--NetCashProvidedByUsedInOperatingActivities_i03T_mtNCPBUz7Jf_maCCERCzhAw_zELBVP9YfW3j" style="vertical-align: bottom; background-color: white">
    <td style="text-align: left; padding-bottom: 1pt; text-indent: -9pt; padding-left: 0.5in">Net cash provided by (used in) 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="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">875,137</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:NetCashProvidedByUsedInOperatingActivities" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,096,607</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: -9pt; padding-left: 0.25in">&#160;</td><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--NetCashProvidedByUsedInInvestingActivitiesAbstract_iB_zJvieXnpuLwg" style="vertical-align: bottom; background-color: white">
    <td style="font-weight: bold; text-align: left; text-indent: -9pt; padding-left: 9pt">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_409_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_i01N_di_msCztK7_zKj07rcKmvUa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt; text-indent: -9pt; 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="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">59,265</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">25,317</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; text-align: left">)</td></tr>
<tr id="xdx_40B_eus-gaap--NetCashProvidedByUsedInInvestingActivities_i01T_mtCztK7_maCCERCzhAw_zatHUNh80bBe" style="vertical-align: bottom; background-color: white">
    <td style="text-align: left; padding-bottom: 1pt; text-indent: -9pt; padding-left: 27pt">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="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">59,265</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">25,317</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: -9pt; padding-left: 0.25in">&#160;</td><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--NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_iB_zmW1USpEmzc2" style="vertical-align: bottom; background-color: white">
    <td style="font-weight: bold; text-align: left; text-indent: -9pt; padding-left: 9pt">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_40D_eus-gaap--RepaymentsOfLongTermDebt_i01N_di_msCzcip_zce3RrdnbKH4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -9pt; padding-left: 0.25in">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="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,528,091</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,560,881</ix:nonFraction></td><td style="text-align: left">)</td></tr>
<tr id="xdx_407_eus-gaap--PaymentsOfDebtIssuanceCosts_i01N_di_msCzcip_zoXf5m57OJ52" style="vertical-align: bottom; background-color: white">
    <td style="text-align: left; padding-bottom: 1pt; text-indent: -9pt; 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">(<ix:nonFraction name="us-gaap:PaymentsOfDebtIssuanceCosts" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">54,334</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"><span style="-sec-ix-hidden: xdx2ixbrl0448">&#8212;</span></td><td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
<tr id="xdx_40E_eus-gaap--NetCashProvidedByUsedInFinancingActivities_i01T_mtCzcip_maCCERCzhAw_zLqCAkl2ojXe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1pt; text-indent: -9pt; padding-left: 27pt">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="From2023-01-01to2023-06-30" 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><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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,560,881</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: -9pt; padding-left: 0.25in">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40E_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_iT_mtCCERCzhAw_z8HoBsYGMrqa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; text-indent: -9pt; padding-left: 27pt">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="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">766,553</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">3,682,805</ix:nonFraction></td><td style="text-align: left">)</td></tr>
<tr id="xdx_405_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_iS_zCjab9KHkko4" style="vertical-align: bottom; background-color: white">
    <td style="padding-bottom: 1pt; text-indent: -9pt; padding-left: 9pt">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="AsOf2022-12-31" 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><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="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,308,866</ix:nonFraction></td><td style="border-bottom: Black 1pt solid; text-align: left">&#160;</td></tr>
<tr id="xdx_40D_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_iE_z0r5JcIMpOGg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-indent: -9pt; padding-left: 9pt">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="AsOf2023-06-30" 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><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="AsOf2022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,626,061</ix:nonFraction></td><td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: white">
    <td style="text-indent: -9pt; padding-left: 0.25in">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40D_eus-gaap--SupplementalCashFlowElementsAbstract_iB_z3t7ious9pLd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; text-indent: -9pt; padding-left: 9pt">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_409_ecustom--CashPaidDuringPeriodForAbstract_i01B_zyDnIq90YoEf" style="vertical-align: bottom; background-color: white">
    <td style="text-align: left; text-indent: -9pt; padding-left: 9pt">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_408_eus-gaap--InterestPaidNet_i02_zbiR9LfcxA8g" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-indent: -9pt; 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="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,193,411</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="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">645,423</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40E_eus-gaap--IncomeTaxesPaidNet_i02_z8URG5F2Cf04" style="vertical-align: bottom; background-color: white">
    <td style="text-align: left; text-indent: -9pt; padding-left: 0.25in">Income taxes</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0471">&#8212;</span></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: xdx2ixbrl0472">&#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: right">&#160;</p>

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

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


<!-- Field: Page; Sequence: 6; Value: 3 -->
    <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 -->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 -->

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><b><span id="scmnpxa007"></span>NOTES TO CONDENSED CONSOLIDATED FINANCIAL
STATEMENTS</b></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><b>(UNAUDITED)</b></p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock"><p id="xdx_84F_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_zPRVJHqjSxj9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b><span id="xdx_86B_zQZlOxwL4pw6">Basis of Presentation</span></b></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The condensed consolidated interim financial
statements of the Company as of June 30, 2023 and for the six months ended June 30, 2023 and 2022 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, 2022 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.</p>

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

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company maintains its cash in four
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, 2023, the Company had $<span id="xdx_903_eus-gaap--CashUninsuredAmount_iI_c20230630_zNrgpAtDs0F9" title="Uninsured balance"><ix:nonFraction name="us-gaap:CashUninsuredAmount" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,892,826</ix:nonFraction></span> of uninsured balances. The Company limits
its credit risk by selecting financial institutions considered to be highly creditworthy.</p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock"><p id="xdx_848_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zBbHUu2NS7c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b><span id="xdx_867_zyudyDM69nmj">Recently Issued Accounting Standards
- Adopted</span></b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In the first quarter of 2023, the Company
adopted ASU 2016-13, Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments (ASU
2016-13), using a modified retrospective method, which did not result in a significant impact on the Company&#8217;s financial
statements.</p>

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

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

<!-- Field: Page; Sequence: 7; Value: 3 -->
    <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 -->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:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:RevenueFromContractWithCustomerTextBlock"><p id="xdx_803_eus-gaap--RevenueFromContractWithCustomerTextBlock_znUr8DVyDQi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#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: 48px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2.</b></span></td>
    <td id="xdx_827_zQHNryyb3R7g" style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>REVENUE RECOGNITION</b></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">In accordance with Accounting Standards
Codification Topic 606 (&#8220;ASC 606&#8221;), the Company recognizes revenue when it transfers control of a promised good or
service to a customer in an amount that reflects the consideration it expects to be entitled to in exchange for the good or service.
The majority of the Company&#8217;s performance obligations are satisfied over-time as the Company (i) sells products with no alternative
use to the Company and (ii) has an enforceable right to recover costs incurred plus a reasonable profit margin for work completed
to date. Under the over-time revenue recognition model, revenue and gross profit are recognized over the contract period as work
is performed based on actual costs incurred and an estimate of costs to complete and resulting total estimated costs at completion.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company also has contracts that are
considered point in time. Under the point in time revenue recognition model, revenue is recognized when control of the components
has transferred to the customer; in most cases this will be based on shipping terms.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>Contracts with Customers and Performance
Obligations</b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The majority of the Company&#8217;s revenues
are from long-term contracts with the U.S. government as well military and commercial contractors. The Company accounts for a contract
when it has approval and commitment from both parties, the rights of the parties are identified, payment terms are identified,
the contract has commercial substance and collectability of consideration is probable. For the Company, the contract under ASC
606 is typically established upon execution of a purchase order either in accordance with a long-term customer contract or on a
standalone basis.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">To determine the proper revenue recognition
for our contracts, we must evaluate whether two or more contracts should be combined and accounted for as a single contract, and
whether the combined or single contract should be accounted for as one performance obligation or more than one performance obligation.
This evaluation requires significant judgment, and the decision to combine a group of contracts or to separate a contract into
multiple performance obligations could change the amount of revenue and profit recorded in a period. A performance obligation is
a promise within a contract to transfer a distinct good or service to the customer in exchange for payment and is the unit of account
for recognizing revenue. The Company&#8217;s performance obligations in its contracts with customers are typically the sale of
each individual product contemplated in the contract or a single performance obligation representing a series of products when
the contract contains multiple products that are substantially the same. The Company has elected to account for shipping performed
after control over a product has transferred to a customer as fulfillment activities. When revenue is recognized in advance of
incurring shipping costs, the costs related to the shipping are accrued. Shipping costs are included in costs of sales. The Company
provides warranties on many of its products; however, since customers cannot purchase such warranties separately and they do not
provide services beyond standard assurances, warranties are not separate performance obligations.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">A contract&#8217;s transaction price is
allocated to each distinct performance obligation and recognized as revenue when or as the performance obligation is satisfied.
For contracts with more than one performance obligation, the Company allocates the transaction price to each performance obligation
based on its estimated standalone selling price. When standalone selling prices are not available, the transaction price is allocated
using an expected cost plus margin approach as pricing for such contracts is typically negotiated on the basis of cost.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The contracts with the U.S. government
and military contractors typically are subject to the Federal Acquisition Regulation, which provides guidance on the types of costs
that are allowable in establishing prices for goods and services provided under U.S. government contracts. The pricing for commercial
contracts is based on the specific negotiations with each customer and any taxes imposed by governmental authorities are excluded
from revenue. The transaction price is primarily comprised of fixed consideration as the customer typically pays a fixed fee for
each product sold. The Company does not adjust the amount of revenue to be recognized under a customer contract for the effects
of the time value of money when the timing difference between receipt of payment and transferring the good or service is less than
one year.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The majority of the Company&#8217;s performance
obligations are satisfied over time as the Company (i) sells products with no alternative use to the Company and (ii) has an enforceable
right to recover costs incurred plus a reasonable profit margin for work completed to date. The Company uses the cost-to-cost input
method to measure progress for its performance obligations because it best depicts the transfer of control to the customer which
occurs as the Company incurs costs on its contracts.</p>

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


<ix:exclude><!-- Field: Page; Sequence: 8; Value: 3 -->
    <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 -->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>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company generally utilizes the portfolio
approach to estimate the amount of revenue to recognize for its contracts and groups contracts together that have similar characteristics.
Contract gross profit margins are calculated using the estimated costs for either the individual contract or the portfolio as applicable.
Significant judgment is used to determine which contracts are grouped together to form a portfolio. The portfolio approach is utilized
only when the result of the accounting is not expected to be materially different than if applied to individual contracts.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s contracts are often
modified to account for changes in contract specifications and requirements. The Company considers contract modifications to exist
when the modification either creates new or changes the existing enforceable rights and obligations. The effect of a contract modification
on the transaction price, and the measure of progress for the performance obligation to which it relates, are recognized prospectively
when the remaining goods or services are distinct and on a cumulative catch-up basis when the remaining goods or services are not
distinct.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company also has contracts that are
considered point in time. Under the point in time revenue recognition model, revenue is recognized when control of the components
has transferred to the customer; in most cases this will be based on shipping terms.</p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Certain contracts contain forms of variable
consideration, such as price discounts and performance penalties. The Company generally estimates variable consideration using
the most likely amount based on an assessment of all available information (i.e., historical experience, current and forecasted
performance) and only to the extent it is probable that a significant reversal of revenue recognized will not occur when the uncertainty
is resolved.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In applying the cost-to-cost input method,
the Company compares the actual costs incurred relative to the total estimated costs expected at completion to determine its progress
towards satisfying its performance obligation and to calculate the corresponding amount of revenue to recognize. For any costs
incurred that do not depict the Company&#8217;s performance in transferring control of goods or services to the customer, the Company
excludes such costs from its input method measure of progress as the amounts are not reflected in the price of the contract. Costs
that are inputs to the satisfaction of a performance obligation include labor, materials and subcontractors&#8217; costs, other
direct costs and an allocation of indirect costs.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Changes to the original estimates may be
required during the life of the contract. Estimates are reviewed quarterly and the effect of any change in the total estimated
costs expected at completion for a contract is reflected in revenue in the period the change becomes known. ASC 606 involves considerable
use of estimates and judgment in determining revenues, costs and profits and in assigning the amounts to accounting periods. For
instance, management must make assumptions and estimates regarding labor productivity and availability, the complexity of the work
to be performed, the availability of materials, the length of time to complete the performance obligation, execution by subcontractors,
the availability and timing of funding from the customer, and overhead cost rates, among other variables. The Company continually
evaluates all of the factors related to the assumptions, risks and uncertainties inherent with the application of the cost-to-cost
input method; however, it cannot be assured that estimates will be accurate. If estimates are not accurate, or a contract is terminated
which will affect estimates at completion, the Company is required to adjust revenue in the period the change is determined.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">When changes are required for the estimated
total revenue on a contract, these changes are recognized on a cumulative catch-up basis in the current period. A significant change
in one or more estimates could affect the profitability of one or more of our performance obligations. If estimates of total costs
to be incurred exceed estimates of total consideration the Company expects to receive, a provision for the remaining loss on the
contract is recorded in the period in which the loss becomes evident.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>Capitalized Contract Acquisition Costs
and Fulfillment Costs</b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Contract acquisition costs are those incremental
costs that the Company incurs to obtain a contract with a customer that it would not have incurred if the contract had not been
obtained. The Company does not typically incur contract acquisition costs or contract fulfillment costs that are subject to capitalization
in accordance with the guidance in Accounting Standards Codification Subtopic 340-40, &#8220;Other Assets and Deferred Costs&#8212;Contracts
with Customers.&#8221;</p>

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

<ix:exclude><!-- Field: Page; Sequence: 9; Value: 3 -->
    <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 -->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 --></ix:exclude>

<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"><b>Disaggregation of Revenue</b></p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:DisaggregationOfRevenueTableTextBlock"><p id="xdx_89B_eus-gaap--DisaggregationOfRevenueTableTextBlock_zItC4dXryWqg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="xdx_8B3_zkes6t9fFWtk">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">&#160;</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">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">2022</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">2022</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%">Aerostructures</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__srt--ProductOrServiceAxis__custom--AerostructureMember_zcq0PIDWEwYc" title="Revenue" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-04-012023-06-30_custom_AerostructureMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,425,795</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_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630__srt--ProductOrServiceAxis__custom--AerostructureMember_zutXV2Ys2e7l" title="Revenue" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-04-012022-06-30_custom_AerostructureMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,819,902</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--AerostructureMember_zVjrf0Q4CB0g" title="Revenue" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-06-30_custom_AerostructureMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,499,320</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_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20220630__srt--ProductOrServiceAxis__custom--AerostructureMember_zJldrCNKZBQk" title="Revenue" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-06-30_custom_AerostructureMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">19,006,695</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td>Aerosystems</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__srt--ProductOrServiceAxis__custom--AerosystemsMember_z8pBJsFq9r29" style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-04-012023-06-30_custom_AerosystemsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,567,883</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630__srt--ProductOrServiceAxis__custom--AerosystemsMember_z3SNbGVbixqd" style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-04-012022-06-30_custom_AerosystemsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,984,045</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__srt--ProductOrServiceAxis__custom--AerosystemsMember_ze3fXeN0SRbf" style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-06-30_custom_AerosystemsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,120,134</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_c20220101__20220630__srt--ProductOrServiceAxis__custom--AerosystemsMember_zJD1LOpEqrV5" style="text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-06-30_custom_AerosystemsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,670,873</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">Kitting and Supply Chain Management</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--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__srt--ProductOrServiceAxis__custom--KittingAndSupplyChainManagementMember_zohBCNn8rim" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-04-012023-06-30_custom_KittingAndSupplyChainManagementMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,553,877</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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630__srt--ProductOrServiceAxis__custom--KittingAndSupplyChainManagementMember_zhW3Wwm70Rc8" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-04-012022-06-30_custom_KittingAndSupplyChainManagementMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,121,459</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_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__srt--ProductOrServiceAxis__custom--KittingAndSupplyChainManagementMember_zhaYSBeKNrFk" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-06-30_custom_KittingAndSupplyChainManagementMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,944,769</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_c20220101__20220630__srt--ProductOrServiceAxis__custom--KittingAndSupplyChainManagementMember_zsGy6odbQ4M" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-06-30_custom_KittingAndSupplyChainManagementMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,382,935</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_c20230401__20230630_z6lCJJ5igopf" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-04-012023-06-30" 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_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630_z1lOtfS6iHji" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,925,406</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_c20230101__20230630_zP0zIs89Dr94" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">42,564,223</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_981_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20220630_zMLdlvewiyT9" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">39,060,503</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>

<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">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">2022</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">2022</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_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_z9Grj0QhLFL1" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-04-012023-06-30_us-gaap_TransferredOverTimeMember" 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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zGsqCXSAv2li" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-04-012022-06-30_us-gaap_TransferredOverTimeMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,565,696</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_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zta9WbToFS8j" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-06-30_us-gaap_TransferredOverTimeMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">39,300,073</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_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20220630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zofe1IZfLFgd" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-06-30_us-gaap_TransferredOverTimeMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,060,893</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_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zFDRvsmz8Fxc" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-04-012023-06-30_us-gaap_TransferredAtPointInTimeMember" 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_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zXnp6pcH0job" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-04-012022-06-30_us-gaap_TransferredAtPointInTimeMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,359,710</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_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_z8bvt9zYIyW1" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-06-30_us-gaap_TransferredAtPointInTimeMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,264,150</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_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20220630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zilJg56KQdjh" style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-06-30_us-gaap_TransferredAtPointInTimeMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,999,610</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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630_zdMkWP7BanVh" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-04-012023-06-30" 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_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630_zzijgyX7tVG3" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,925,406</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_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630_zhugV1K7xKK9" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">42,564,223</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_c20220101__20220630_zQd4Aoe5ibu1" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">39,060,503</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
</table>

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

<ix:exclude><!-- Field: Page; Sequence: 10; Value: 3 -->
    <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 -->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 --></ix:exclude>

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






<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>Transaction Price Allocated to Remaining
Performance Obligations</b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">As of June 30, 2023, the aggregate amount
of transaction price allocated to the remaining performance obligations was approximately $<span id="xdx_900_eus-gaap--RevenueRemainingPerformanceObligation_iI_pn5n6_c20230630__us-gaap--RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis__2023-07-01_zmSxLMGL0we8" title="Remaining performance obligations"><ix:nonFraction name="us-gaap:RevenueRemainingPerformanceObligation" contextRef="AsOf2023-06-30_2023-07-01" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD">118.2</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, 2023. The majority of the Company&#8217;s performance obligations have an average duration up to approximately <span id="xdx_908_eus-gaap--RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_iI_dt_c20230630__us-gaap--RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis__2023-07-01_zJqt2GrgLi8k" title="Performance obligations duration"><ix:nonNumeric contextRef="AsOf2023-06-30_2023-07-01" format="ixt-sec:durwordsen" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1">three
years</ix:nonNumeric></span>.</p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="cvu:ContractWithCustomerAssetAndLiabilityTextBlock"><p id="xdx_801_ecustom--ContractWithCustomerAssetAndLiabilityTextBlock_zbNn7rMdn0ii" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#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: 48px; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>3.</b></span></td>
    <td id="xdx_822_zWPO9mDDZj5j" style="text-align: justify; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>CONTRACT ASSETS AND LIABILITIES</b></span></td></tr>
</table>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock"><p id="xdx_891_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_zwjC4UujYJMj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="xdx_8BF_z5KzVJQfDan1" style="display: none; visibility: hidden">Schedule of contract assets and liabilities</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 70%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" id="xdx_496_20230630_zQ9HjT39jDtk" style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" id="xdx_497_20221231_zndGjjupU4B4" style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>December 31,</b></span></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</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>&#160;</td>
    <td>&#160;</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>2022</b></span></td>
    <td>&#160;</td></tr>
<tr id="xdx_403_eus-gaap--ContractWithCustomerAssetNet_iI_maNCAz5zf_zF1lgIW2Dtf4" style="background-color: #CCEEFF">
    <td style="vertical-align: bottom; width: 40%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Contract assets</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</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:ContractWithCustomerAssetNet" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">30,962,061</ix:nonFraction></span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td>
    <td style="vertical-align: bottom; width: 1%">&#160;</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: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNet" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">27,384,540</ix:nonFraction></span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td></tr>
<tr id="xdx_403_eus-gaap--ContractWithCustomerLiability_iI_msNCAz5zf_z21NM7soBdl2" 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">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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:ContractWithCustomerLiability" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,605,354</ix:nonFraction></span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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:ContractWithCustomerLiability" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,001,726</ix:nonFraction></span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr id="xdx_400_ecustom--NetContractAssets_iTI_mtNCAz5zf_zf0QpYpqG9u7" style="background-color: #CCEEFF">
    <td style="vertical-align: bottom; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net Contract assets</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="cvu:NetContractAssets" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">22,356,707</ix:nonFraction></span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="cvu:NetContractAssets" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">21,382,814</ix:nonFraction></span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
</table>

</ix:nonNumeric><p id="xdx_8AE_zZkFRCcOgDug" style="margin-top: 0; margin-bottom: 0">&#160;</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Revenue recognized for the six months ended
June 30, 2023 and 2022 that was included in the contract liabilities balance as of January 1, 2023 and 2022, respectively, was
approximately $<span id="xdx_904_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pn5n6_c20230101__20230630_z4oR21n6WW4j" title="Revenue recognized that was included in contract liabilities"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD">1.9</ix:nonFraction></span> million and $<span id="xdx_909_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pn5n6_c20220101__20220630_zLeOm91MEnTc"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD">3.2</ix:nonFraction></span> million, respectively.</p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:InventoryDisclosureTextBlock"><p id="xdx_804_eus-gaap--InventoryDisclosureTextBlock_zv2un6gc91Q1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#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: 48px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>4.</b></span></td>
    <td id="xdx_829_zaQ1YFgA5gf2" style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>INVENTORY</b></span></td></tr>
</table>

<p style="margin-top: 0; margin-bottom: 0">&#160;</p>
<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock"><p id="xdx_893_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zvk7RQZySoyf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="xdx_8BD_zyra91V6mprh">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">&#160;</p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 70%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td>&#160;</td>
    <td colspan="2" id="xdx_497_20230630_zTZXwrbUlRu4" style="border-bottom: black 1pt solid">
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>June 30, </b></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>2023</b></p></td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td colspan="2" id="xdx_491_20221231_z1xp1pndI741" style="border-bottom: black 1pt solid">
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>December 31,</b></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>2022</b></p></td>
    <td style="border-bottom: black 1pt solid">&#160;</td></tr>
<tr id="xdx_40E_eus-gaap--InventoryRawMaterials_iI_maIGzpSz_zwjpZHyFCYze" style="background-color: #CCEEFF">
    <td style="vertical-align: bottom; width: 40%; 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%">&#160;</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:InventoryRawMaterials" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,822,930</ix:nonFraction></span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td>
    <td style="vertical-align: bottom; width: 1%">&#160;</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: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:InventoryRawMaterials" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,892,157</ix:nonFraction></span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td></tr>
<tr id="xdx_40C_eus-gaap--InventoryWorkInProcess_iI_maIGzpSz_zODG1BxsIE5a" 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">&#160;</td>
    <td style="vertical-align: bottom">&#160;</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-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">216,908</ix:nonFraction></span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</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:InventoryWorkInProcess" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">685,438</ix:nonFraction></span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr id="xdx_409_eus-gaap--InventoryFinishedGoods_iI_maIGzpSz_zx59fbFTacSb" style="background-color: #CCEEFF">
    <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">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,293,217</ix:nonFraction></span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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:InventoryFinishedGoods" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,038,859</ix:nonFraction></span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</td></tr>
<tr id="xdx_40A_eus-gaap--InventoryGross_iTI_mtIGzpSz_maINzM3w_zbVuRwFJHoW4" style="background-color: white">
    <td style="vertical-align: bottom; padding-left: 9pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Gross inventory</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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:InventoryGross" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,333,055</ix:nonFraction></span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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:InventoryGross" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,616,454</ix:nonFraction></span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</td></tr>
<tr id="xdx_400_eus-gaap--InventoryValuationReserves_iNI_di_msINzM3w_zCERClhClMfe" style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="padding-left: 9pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inventory reserves</span></td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</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:InventoryValuationReserves" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,414,149</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">&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</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:InventoryValuationReserves" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,123,386</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_408_eus-gaap--InventoryNet_iTI_mtINzM3w_zwwDCNlUDDLc" style="vertical-align: bottom; background-color: white">
    <td style="padding-left: 9pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inventory, net</span></td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.5pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,918,906</ix:nonFraction></span></td>
    <td style="border-bottom: black 2.5pt double">&#160;</td>
    <td style="border-bottom: black 2.5pt double">&#160;</td>
    <td style="border-bottom: black 2.5pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,493,069</ix:nonFraction></span></td>
    <td style="border-bottom: black 2.5pt double">&#160;</td></tr>
</table>
</ix:nonNumeric><p id="xdx_8AB_zwsdQXB2jJml" style="margin-top: 0; margin-bottom: 0">&#160;</p>

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

<!-- Field: Page; Sequence: 1; Options: NewSection; Value: 11 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="margin-top: 0pt; text-align: center; margin-bottom: 0pt; font-size: 10pt">&#160;<!-- 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 -->

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"><p id="xdx_80A_eus-gaap--DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_zvHG8scIXm4j" 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: 48px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>5.</b></span></td>
    <td id="xdx_822_z0NlAeLJVAd3" style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>STOCK-BASED COMPENSATION</b></span></td></tr>
</table>

<p style="margin-top: 0; margin-bottom: 0">&#160;</p>
<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"><p id="xdx_89D_eus-gaap--ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_zwzD8wWg4aRb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white"><span id="xdx_8B4_zBY5DzGGxCw1">Stock-based
compensation expense for restricted stock in the consolidated statements of operations is summarized as follows:</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</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>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td id="xdx_499_20230401__20230630_zA6AYdzFTEte" style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td id="xdx_498_20220401__20220630_zbMiBtTK18yh" style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td id="xdx_495_20230101__20230630_zHI45STxUez2" style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td id="xdx_49B_20220101__20220630_z2vMMd9fmwZ8" style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</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></span><br />
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></td>
    <td>&#160;</td>
    <td>&#160;</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></span><br />
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</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>&#160;</td>
    <td>&#160;</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>2022</b></span></td>
    <td>&#160;</td>
    <td>&#160;</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>&#160;</td>
    <td>&#160;</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>2022</b></span></td>
    <td>&#160;</td></tr>
<tr id="xdx_40F_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--CostOfSalesMember_zKk4JxXX4TC9" style="background-color: #CCEEFF">
    <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%">&#160;</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" format="ixt:numdotdecimal" decimals="0" unitRef="USD">37,171</ix:nonFraction></span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td>
    <td style="vertical-align: bottom; width: 1%">&#160;</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: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2022-04-012022-06-30_us-gaap_CostOfSalesMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,471</ix:nonFraction></span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td>
    <td style="vertical-align: bottom; width: 1%">&#160;</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" format="ixt:numdotdecimal" decimals="0" unitRef="USD">52,248</ix:nonFraction></span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td>
    <td style="vertical-align: bottom; width: 1%">&#160;</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: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2022-01-012022-06-30_us-gaap_CostOfSalesMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">20,006</ix:nonFraction></span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td></tr>
<tr id="xdx_401_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--SellingGeneralAndAdministrativeExpensesMember_zOqkPyg1l92f">
    <td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Selling, general and administrative</span></td>
    <td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: bottom; background-color: white">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: top; background-color: white; 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" format="ixt:numdotdecimal" decimals="0" unitRef="USD">143,045</ix:nonFraction></span></td>
    <td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt">&#160;</td>
    <td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: bottom; background-color: white">&#160;</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:AllocatedShareBasedCompensationExpense" contextRef="From2022-04-012022-06-30_us-gaap_SellingGeneralAndAdministrativeExpensesMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">131,027</ix:nonFraction></span></td>
    <td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt">&#160;</td>
    <td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: bottom; background-color: white">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: top; background-color: white; 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" format="ixt:numdotdecimal" decimals="0" unitRef="USD">466,891</ix:nonFraction></span></td>
    <td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt">&#160;</td>
    <td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: bottom; background-color: white">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: bottom; background-color: white; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2022-01-012022-06-30_us-gaap_SellingGeneralAndAdministrativeExpensesMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">143,374</ix:nonFraction></span></td>
    <td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt">&#160;</td></tr>
<tr id="xdx_40A_eus-gaap--AllocatedShareBasedCompensationExpense_zWmilNFzXT6h" style="background-color: white">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total stock-based compensation expense</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt 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" format="ixt:numdotdecimal" decimals="0" unitRef="USD">180,216</ix:nonFraction></span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">137,498</ix:nonFraction></span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt 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-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">519,139</ix:nonFraction></span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">163,380</ix:nonFraction></span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
</table>

</ix:nonNumeric><p id="xdx_8A1_zOVBx3VYhCcc" style="margin-top: 0; margin-bottom: 0">&#160;</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="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 one-year period.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">The
Company grants shares of common stock (&#8220;Restricted Stock Awards&#8221;) to select employees. In the event that the employee&#8217;s
employment is voluntarily terminated prior to certain vesting dates, portions of the shares may be forfeited. In addition, if certain
Company performance criteria are not achieved, portions of these shares may be forfeited. <span id="xdx_90A_eus-gaap--StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited_pid_uShares_c20230101__20230630_zqOQpdAiSNo3" title="Shares forfeited"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">85,748</ix:nonFraction></span> shares were forfeited during the
six months ended June 30, 2022, resulting in a reduction to stock-based compensation expense for the six months ended June 30,
2022 in selling, general and administrative expense of $<span id="xdx_90D_eus-gaap--AllocatedShareBasedCompensationExpense_iN_di_c20220101__20220630__us-gaap--AwardTypeAxis__custom--ForfeitedRestrictedStockMember__us-gaap--IncomeStatementLocationAxis__us-gaap--SellingGeneralAndAdministrativeExpensesMember_zEbYixE1R1Cd" title="Stock-based compensation"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2022-01-012022-06-30_custom_ForfeitedRestrictedStockMember_us-gaap_SellingGeneralAndAdministrativeExpensesMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">263,148</ix:nonFraction></span>.</span></p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock"><p id="xdx_892_eus-gaap--ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_zsaMJQT5DeCb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="xdx_8BF_zVIMi02o3eIk">The
following table summarizes activity related to outstanding RSUs and Restricted Stock Awards for the six months ended June 30, 2023:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</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 style="text-align: justify">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</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>Restricted Stock Awards</b></span></td>
    <td>&#160;</td>
    <td>&#160;</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"><b>Weighted Average</b></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>Grant Date</b></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>Fair Value of Restricted Stock
Awards</b></p></td>
    <td>&#160;</td>
    <td>&#160;</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>RSUs</b></span></td>
    <td>&#160;</td>
    <td>&#160;</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"><b>Weighted Average</b></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>Grant Date</b></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>Fair Value of RSUs</b></p></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="width: 39%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-vested &#8211; January 1, 2023</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td id="xdx_98D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iS_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zmGsKV6UJRw3" title="Non vested January 1, 2022" style="width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" contextRef="AsOf2022-12-31_us-gaap_RestrictedStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">239,184</ix:nonFraction></span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_98E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zukYzmCr4wUj" title="Non vested January 1, 2022" style="width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" contextRef="AsOf2022-12-31_us-gaap_RestrictedStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.32</ix:nonFraction></span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iS_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z8y2ta98CM91" title="Non vested January 1, 2022" style="width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl0590">&#8212;</span></span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_984_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z9hsJbG8g9z9" title="Non vested January 1, 2022" style="width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl0592">&#8212;</span></span></td>
    <td style="width: 1%">&#160;</td></tr>
<tr style="background-color: white">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Granted</span></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_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zdoDzWknwLXf" title="Granted" style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2023-01-012023-06-30_us-gaap_RestrictedStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">212,902</ix:nonFraction></span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zdYZirVOWsa4" title="Granted" style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2023-01-012023-06-30_us-gaap_RestrictedStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.82</ix:nonFraction></span></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_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zkzJ20RVbCyl" title="Granted" style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2023-01-012023-06-30_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">170,042</ix:nonFraction></span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zFGYlVTkMySb" title="Granted" style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2023-01-012023-06-30_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.44</ix:nonFraction></span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr style="background-color: #CCEEFF">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Vested</span></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_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_iN_pid_di_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zvWV4upBAF02" title="Vested" style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" contextRef="From2023-01-012023-06-30_us-gaap_RestrictedStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">82,769</ix:nonFraction>)</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_z8tcZxoMvXac" title="Vested" style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" contextRef="From2023-01-012023-06-30_us-gaap_RestrictedStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.83</ix:nonFraction></span></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_984_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_iN_pid_di_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zF2HWXjck2r2" title="Vested" style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" contextRef="From2023-01-012023-06-30_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">69,845</ix:nonFraction></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">&#160;</td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_987_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z36NpoJKzlf9" title="Vested" style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" contextRef="From2023-01-012023-06-30_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.42</ix:nonFraction></span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr style="background-color: white">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Forfeited</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</td>
    <td id="xdx_986_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_iN_pid_di_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_z2iJznfvRpIf" title="Forfeited" style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl0610">&#8212;</span></span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zfszED32yA64" title="Forfeited" style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl0612">&#8212;</span></span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</td>
    <td id="xdx_98E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_iN_pid_di_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zEZWxYVV0w3b" title="Forfeited" 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:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" contextRef="From2023-01-012023-06-30_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">33,749</ix:nonFraction></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">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_989_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zMUgvBekc9ei" title="Forfeited" 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:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" contextRef="From2023-01-012023-06-30_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.42</ix:nonFraction></span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr style="background-color: #CCEEFF">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-vested &#8211; June 30, 2023</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom">&#160;</td>
    <td id="xdx_983_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iE_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zVUz3xfOXGMi" title="Non vested December 31, 2022" style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" contextRef="AsOf2023-06-30_us-gaap_RestrictedStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">369,317</ix:nonFraction></span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_983_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zNXbWeid3W87" title="Non vested December 31, 2022" style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" contextRef="AsOf2023-06-30_us-gaap_RestrictedStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.25</ix:nonFraction></span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom">&#160;</td>
    <td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iE_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zl2vZUG58Fd3" title="Non vested December 31, 2022" style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" contextRef="AsOf2023-06-30_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">66,448</ix:nonFraction></span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zdzwrBp4K97b" title="Non vested December 31, 2022" style="border-bottom: black 2.5pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" contextRef="AsOf2023-06-30_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.47</ix:nonFraction></span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
</table>

</ix:nonNumeric><p id="xdx_8A5_zIPQFiHTTz3g" style="margin-top: 0; margin-bottom: 0">&#160;</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">As
of June 30, 2023, unamortized stock-based compensation costs related to restricted share arrangements was $</span><span id="xdx_908_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_iI_c20230630_zpxKaJ7rHfP4" title="Unamortized stock-based compensation costs"><ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">514,880</ix:nonFraction></span><span style="background-color: white">.</span></p>

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

<!-- Field: Page; Sequence: 2; Value: 11 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="margin-top: 0pt; text-align: center; margin-bottom: 0pt; font-size: 10pt">&#160;<!-- 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 -->

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:FairValueDisclosuresTextBlock"><p id="xdx_807_eus-gaap--FairValueDisclosuresTextBlock_zvzJHT069o01" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#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: 48px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>6.</b></span></td>
    <td id="xdx_82F_zm8xOPTjFsmk" style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>FAIR VALUE</b></span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration: underline">Fair Value</span></p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:FairValueByBalanceSheetGroupingTextBlock"><p id="xdx_89D_eus-gaap--FairValueByBalanceSheetGroupingTextBlock_ziLOxo1fZGYd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="xdx_8B8_zBcxLS6zvhNk">At June 30, 2023 and December 31, 2022,
the fair values of cash, accounts receivable and accounts payable approximated their carrying values because of the short-term
nature of these instruments.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</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 style="text-align: justify">&#160;</td>
    <td>&#160;</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>June 30, 2023</b></span></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td>&#160;</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"><b>Carrying</b></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>Amount</b></p></td>
    <td>&#160;</td>
    <td>&#160;</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>Fair Value</b></span></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Debt</span></td>
    <td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="width: 74%; padding-left: 9pt; text-align: justify; text-indent: -9pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Short-term borrowings and long-term debt</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_988_eus-gaap--DebtInstrumentFairValue_iI_c20230630__us-gaap--FairValueByMeasurementBasisAxis__us-gaap--CarryingReportedAmountFairValueDisclosureMember_zsXV5bw5zxTl" title="Short-term borrowings and long-term debt" style="border-bottom: black 2.5pt double; width: 10%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:DebtInstrumentFairValue" contextRef="AsOf2023-06-30_us-gaap_CarryingReportedAmountFairValueDisclosureMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">21,262,656</ix:nonFraction></span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_986_eus-gaap--DebtInstrumentFairValue_iI_c20230630__us-gaap--FairValueByMeasurementBasisAxis__us-gaap--EstimateOfFairValueFairValueDisclosureMember_zjc9ksZIKFWi" style="border-bottom: black 2.5pt double; width: 10%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:DebtInstrumentFairValue" contextRef="AsOf2023-06-30_us-gaap_EstimateOfFairValueFairValueDisclosureMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">21,262,656</ix:nonFraction></span></td>
    <td style="width: 1%">&#160;</td></tr>
<tr>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
</table>
<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</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>December 31, 2022</b></span></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td>&#160;</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"><b>Carrying</b></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>Amount</b></p></td>
    <td>&#160;</td>
    <td>&#160;</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>Fair Value</b></span></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Debt</span></td>
    <td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="width: 74%; padding-left: 9pt; text-align: justify; text-indent: -9pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Short-term borrowings and long-term debt</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_988_eus-gaap--DebtInstrumentFairValue_iI_c20221231__us-gaap--FairValueByMeasurementBasisAxis__us-gaap--CarryingReportedAmountFairValueDisclosureMember_zYl79NiaxwZf" style="border-bottom: black 2.5pt double; width: 10%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:DebtInstrumentFairValue" contextRef="AsOf2022-12-31_us-gaap_CarryingReportedAmountFairValueDisclosureMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">22,790,747</ix:nonFraction></span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_985_eus-gaap--DebtInstrumentFairValue_iI_c20221231__us-gaap--FairValueByMeasurementBasisAxis__us-gaap--EstimateOfFairValueFairValueDisclosureMember_z5uraTkpJp8a" style="border-bottom: black 2.5pt double; width: 10%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:DebtInstrumentFairValue" contextRef="AsOf2022-12-31_us-gaap_EstimateOfFairValueFairValueDisclosureMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">22,790,747</ix:nonFraction></span></td>
    <td style="width: 1%">&#160;</td></tr>
<tr>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
</table>
</ix:nonNumeric><p id="xdx_8AB_z5CrvPvwIGsa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">We estimated the fair value of debt using market quotes and
calculations based on market rates.</p>

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

<!-- Field: Page; Sequence: 3; Value: 11 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="margin-top: 0pt; text-align: center; margin-bottom: 0pt; font-size: 10pt">&#160;<!-- Field: Sequence; Type: Arabic; Name: PageNo -->13<!-- 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:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:EarningsPerShareTextBlock"><p id="xdx_809_eus-gaap--EarningsPerShareTextBlock_zx9ABMoSH1t5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 48px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>7.</b></span></td>
    <td id="xdx_820_zJEXw7B1bY53" style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>INCOME PER COMMON SHARE</b></span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company complies with the accounting
and disclosure requirements of FASB ASC Topic 260, &#8220;Earnings Per Share&#8221; and uses the two-class method in the calculation
of earnings per share. Net income per common share is computed by dividing net income by the weighted average number of common
shares outstanding during the period. During the three months and six months ended June 30, 2023 and 2022, respectively, and as
of June 30, 2023 and 2022, respectively, the Company had restricted shares of common stock that were considered participating securities
and unrestricted shares of common stock outstanding. Earnings and losses are shared pro rata.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">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. Incremental shares of <span id="xdx_905_eus-gaap--IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_pid_uShares_c20230401__20230630_zIQx5pNrP1dk" title="Incremental shares used in calculation of diluted income per common share"><span id="xdx_909_eus-gaap--IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_pid_uShares_c20230101__20230630_ztXdIK90wmTi" title="Incremental shares used in calculation of diluted income per common share"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" contextRef="From2023-01-01to2023-06-30" 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.</p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:ScheduleOfEarningsPerShareBasicByCommonClassTextBlock"><p id="xdx_897_eus-gaap--ScheduleOfEarningsPerShareBasicByCommonClassTextBlock_zFAxSjLsIWyk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 1.45pt 0pt 0; text-align: justify"><span id="xdx_8B4_zZ66jAo4sKx">For the three and six months
ended June 30, 2023 and 2022, respectively, our income per common share was calculated as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 1.45pt 0pt 0; text-align: justify">&#160;</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>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td id="xdx_49C_20230401__20230630_zxLA6vMfkhOh" style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td id="xdx_498_20220401__20220630_z8Wv36sOdzEd" style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td id="xdx_49C_20230101__20230630_zZxGxW7PR5i6" style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td id="xdx_490_20220101__20220630_zKmidXad0GTd" style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</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></span><br />
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></td>
    <td>&#160;</td>
    <td>&#160;</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></span><br />
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</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>&#160;</td>
    <td>&#160;</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>2022</b></span></td>
    <td>&#160;</td>
    <td>&#160;</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>&#160;</td>
    <td>&#160;</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>2022</b></span></td>
    <td>&#160;</td></tr>
<tr id="xdx_40E_eus-gaap--NetIncomeLoss_zwPPH9Th8jy8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net income </span></td>
    <td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,157,076</ix:nonFraction></span></td>
    <td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">517,636</ix:nonFraction></span></td>
    <td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,140,381</ix:nonFraction></span></td>
    <td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">484,705</ix:nonFraction></span></td>
    <td style="width: 1%; padding-bottom: 2.5pt">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_408_eus-gaap--EarningsPerShareBasicAbstract_iB_zGc5YlYMdYmj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Income per common share, basic:</span></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income per common share-unrestricted shares</span></td>
    <td>&#160;</td>
    <td>$</td>
    <td id="xdx_98E_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20230401__20230630__us-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_zEO231fYUtwf" title="Income (loss) per common share, basic" style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2023-04-012023-06-30_custom_UnrestrictedSharesMember" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.09</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>$</td>
    <td id="xdx_989_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20220401__20220630__us-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_z2bW7HRd4K95" title="Income (loss) per common share, basic" style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2022-04-012022-06-30_custom_UnrestrictedSharesMember" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.04</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>$</td>
    <td id="xdx_98D_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20230101__20230630__us-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_zauk7ci2bdfg" title="Income (loss) per common share, basic" style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2023-01-012023-06-30_custom_UnrestrictedSharesMember" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.17</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>$</td>
    <td id="xdx_98A_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20220101__20220630__us-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_zd2soJbaiMcc" title="Income (loss) per common share, basic" style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2022-01-012022-06-30_custom_UnrestrictedSharesMember" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.04</ix:nonFraction></span></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income per common share-restricted shares</span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid">$</td>
    <td id="xdx_982_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20230401__20230630__us-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_zQ4BLaBMfyu6" title="Income (loss) per common share, basic" 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:EarningsPerShareBasic" contextRef="From2023-04-012023-06-30_custom_RestrictedSharesMember" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.09</ix:nonFraction></span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid">$</td>
    <td id="xdx_98A_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20220401__20220630__us-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_zYCslTjPsTml" 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:EarningsPerShareBasic" contextRef="From2022-04-012022-06-30_custom_RestrictedSharesMember" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.04</ix:nonFraction></span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid">$</td>
    <td id="xdx_98E_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20230101__20230630__us-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_zsm7ZhXcy8p3" title="Income (loss) per common share, basic" 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:EarningsPerShareBasic" contextRef="From2023-01-012023-06-30_custom_RestrictedSharesMember" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.17</ix:nonFraction></span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid">$</td>
    <td id="xdx_98B_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20220101__20220630__us-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_z9q6CvIlBtJg" 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:EarningsPerShareBasic" contextRef="From2022-01-012022-06-30_custom_RestrictedSharesMember" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.04</ix:nonFraction></span></td>
    <td style="padding-bottom: 1pt">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_406_eus-gaap--EarningsPerShareDilutedAbstract_iB_zkoZIfYVA5r3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income per common share, diluted</span></td>
    <td>&#160;</td>
    <td>$</td>
    <td id="xdx_98D_eus-gaap--EarningsPerShareDiluted_i01_pp2p0_c20230401__20230630_z12RDg7XWBx7" title="Income (loss) per common share, diluted" style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.09</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>$</td>
    <td id="xdx_983_eus-gaap--EarningsPerShareDiluted_i01_pp2p0_c20220401__20220630_zbFs3470O5Mk" title="Income (loss) per common share, diluted" style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.04</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>$</td>
    <td id="xdx_986_eus-gaap--EarningsPerShareDiluted_i01_pp2p0_c20230101__20230630_zTnYsZqHJ078" title="Income (loss) per common share, diluted" style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.17</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>$</td>
    <td id="xdx_98A_eus-gaap--EarningsPerShareDiluted_i01_pp2p0_c20220101__20220630_zbmjfGqOumZ" title="Income (loss) per common share, diluted" style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="2" scale="0" unitRef="USDPShares">0.04</ix:nonFraction></span></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_409_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasicAbstract_iB_zaxngZjU6bx6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Shares used in computing income per common share, basic:</span></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_409_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_i01_pp0p0_hus-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_z6NiJSSfIAh2" style="vertical-align: bottom; background-color: White">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Unrestricted shares</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2023-04-012023-06-30_custom_UnrestrictedSharesMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">12,429,894</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2022-04-012022-06-30_custom_UnrestrictedSharesMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">12,305,939</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2023-01-012023-06-30_custom_UnrestrictedSharesMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">12,412,068</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2022-01-012022-06-30_custom_UnrestrictedSharesMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">12,275,306</ix:nonFraction></span></td>
    <td>&#160;</td></tr>
<tr id="xdx_406_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_i01_pp0p0_hus-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_zTPPMjkExAa7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Restricted shares</span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid">&#160;</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:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2023-04-012023-06-30_custom_RestrictedSharesMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">128,899</ix:nonFraction></span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid">&#160;</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:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2022-04-012022-06-30_custom_RestrictedSharesMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">133,061</ix:nonFraction></span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid">&#160;</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:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2023-01-012023-06-30_custom_RestrictedSharesMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">127,584</ix:nonFraction></span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid">&#160;</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:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2022-01-012022-06-30_custom_RestrictedSharesMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">125,975</ix:nonFraction></span></td>
    <td style="padding-bottom: 1pt">&#160;</td></tr>
<tr id="xdx_404_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_i01_pp0p0_zRMu4KeMmj4d" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total shares</span></td>
    <td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">12,558,793</ix:nonFraction></span></td>
    <td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">12,439,000</ix:nonFraction></span></td>
    <td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">12,539,652</ix:nonFraction></span></td>
    <td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">12,401,281</ix:nonFraction></span></td>
    <td style="padding-bottom: 2.5pt">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_40A_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_pp0p0_uShares_z36FB1oQQOgk" style="vertical-align: bottom; background-color: White">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Shares used in computing income per common share, diluted</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">12,625,241</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">12,534,058</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">12,606,100</ix:nonFraction></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="Shares">12,496,339</ix:nonFraction></span></td>
    <td>&#160;</td></tr>
</table>

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

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

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:LongTermDebtTextBlock"><p id="xdx_803_eus-gaap--LongTermDebtTextBlock_zPbzBzM5jQUe" 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: 48px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>8.</b></span></td>
    <td id="xdx_823_zeqAJhB6QjSc" style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>DEBT</b></span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">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_zrdd7Zzy7z5i" title="Line of credit facility, maximum borrowing capacity"><ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" contextRef="AsOf2016-03-24_custom_BankUnitedMember_us-gaap_RevolvingCreditFacilityMember" 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_zF8qEyD4Tne7" title="Debt instrument, face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2016-03-24_custom_BankUnitedMember_custom_TermLoanMember" 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.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On March 23, 2023, the Company entered
into a Twelfth Amendment to the Credit Agreement (the &#8220;Twelfth Amendment&#8221;). Under the Twelfth Amendment, the parties
amended the Credit Agreement by : (a) extending the maturity date of the Company&#8217;s existing revolving line of credit and
its existing term loan to <span id="xdx_90B_eus-gaap--LineOfCreditFacilityExpirationDate1_dd_c20230321__20230323__us-gaap--CreditFacilityAxis__custom--RevolvingLoanAndTermLoanMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zgdfTlSfnbH3" title="Expiration date"><ix:nonNumeric contextRef="From2023-03-212023-03-23_custom_RevolvingLoanAndTermLoanMember_custom_BankUnitedMember" format="ixt:datemonthdayyearen" name="us-gaap:LineOfCreditFacilityExpirationDate1">November 30, 2024</ix:nonNumeric></span> (under the terms of the Credit Agreement, the outstanding principal balance of the
term loan was repaid by June 30, 2023); (b) providing for reduction of the aggregate maximum principal amount of all revolving
line of credit loans to $<span id="xdx_906_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20230323__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodOneMember_zPQAFEIn5m3b" title="Line of credit facility, maximum borrowing capacity"><ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" contextRef="AsOf2023-03-23_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodOneMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">20,520,000</ix:nonFraction></span> from October 1, 2023 through December 31, 2023, $<span id="xdx_905_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20230323__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodTwoMember_zES6YonAY28" title="Line of credit facility, maximum borrowing capacity"><ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" contextRef="AsOf2023-03-23_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodTwoMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">19,800,000</ix:nonFraction></span> from January 1, 2024 through June
30, 2024, $19,080,000 from April 1, 2024 through June 30, 2024, $18,360,000 from July 1, 2024 through September 30, 2024, and $<span id="xdx_908_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20230323__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodThreeMember_zAnqPEDAWodi" title="Line of credit facility, maximum borrowing capacity"><ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" contextRef="AsOf2023-03-23_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodThreeMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">17,640,000</ix:nonFraction></span>
from October 1, 2024 and 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; and (c) payment of a $<span id="xdx_900_ecustom--AmendmentFee_pp0p0_c20230321__20230323__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zPubCzybXg75"><ix:nonFraction name="cvu:AmendmentFee" contextRef="From2023-03-212023-03-23_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">250,000</ix:nonFraction></span> capitalized fee incurred in connection with the Eighth Amendment
to the Credit Agreement, which the Company entered into on October 28, 2021 in two installments,
the first installment paid on June 1, 2023 in the amount of $<span id="xdx_907_ecustom--AmendmentFee_pp0p0_c20230321__20230323__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--FirstInstallmentMember_zpVK1WFUQa4d"><ix:nonFraction name="cvu:AmendmentFee" contextRef="From2023-03-212023-03-23_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_FirstInstallmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">116,667</ix:nonFraction></span> and the second installment paid July 1, 2023 in the amount
of $<span id="xdx_904_ecustom--AmendmentFee_pp0p0_c20230321__20230323__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--SecondInstallmentMember_zfjPl3jdHg21"><ix:nonFraction name="cvu:AmendmentFee" contextRef="From2023-03-212023-03-23_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_SecondInstallmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">133,333</ix:nonFraction></span>, together with all unpaid interest accrued at the term loan interest rate on the capitalized fee through each such
date (the installments and interest accrued were paid on such dates).</p>

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

<ix:exclude><!-- Field: Page; Sequence: 4; Value: 11 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="margin-top: 0pt; text-align: center; margin-bottom: 0pt; font-size: 10pt">&#160;<!-- Field: Sequence; Type: Arabic; Name: PageNo -->14<!-- 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>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The 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_90A_ecustom--MinimumDebtServiceCoverageRatio_iI_pip0_uPure_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zHEoVHdQYNEa" title="Minimum debt service coverage ratio"><ix:nonFraction name="cvu:MinimumDebtServiceCoverageRatio" contextRef="AsOf2023-06-30_custom_BankUnitedMember" 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_90D_ecustom--MaximumLeverageRatio_iI_pip0_uPure_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zofhSAXWVoo6"><ix:nonFraction name="cvu:MaximumLeverageRatio" contextRef="AsOf2023-06-30_custom_BankUnitedMember" 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_903_ecustom--NetIncomeRequiredUnderAgreement_pip0_c20230101__20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__srt--RangeAxis__srt--MinimumMember_zuHMauXDxXV2" title="Net income required under agreement"><ix:nonFraction name="cvu:NetIncomeRequiredUnderAgreement" contextRef="From2023-01-012023-06-30_custom_BankUnitedMember_srt_MinimumMember" format="ixt:numdotdecimal" decimals="0" 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_906_ecustom--MinimumAdjustedEbitda_pn5n6_c20230101__20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zCxQCUNP3189" title="Minimum adjusted EBITDA"><ix:nonFraction name="cvu:MinimumAdjustedEbitda" contextRef="From2023-01-012023-06-30_custom_BankUnitedMember" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD">1</ix:nonFraction></span>.0 million. The additional principal payments, increase in interest and the
Amendment Fee provided for in the Eight Amendment and Ninth Amendment to the Credit Agreement, which the Company entered into on
April 12, 2022 are excluded for purposes of calculating compliance with each of the financial covenants.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The BankUnited Facility is secured by all
of the Company&#8217;s assets and both the Revolving Loan and Term Loan bear interest at the Prime Rate + <span id="xdx_90A_eus-gaap--DebtInstrumentBasisSpreadOnVariableRate1_pid_dp_uPure_c20230101__20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__custom--RevolvingLoanAndTermLoanMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember_z0SXMnwcyW7b" title="Prime rate Plus"><ix:nonFraction name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" contextRef="From2023-01-012023-06-30_custom_BankUnitedMember_custom_RevolvingLoanAndTermLoanMember_us-gaap_PrimeRateMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">3.50</ix:nonFraction></span>%. The Prime Rate
was <span id="xdx_909_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20230630__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember_zQTHcYAb1wed"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2023-06-30_us-gaap_PrimeRateMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.25</ix:nonFraction></span>% as of June 30, 2023 and as such, the Company&#8217;s interest rate on the Revolving Loan and Term Loan was <span id="xdx_906_eus-gaap--LongTermDebtPercentageBearingVariableInterestRate_iI_pid_dp_uPure_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__custom--RevolvingLoanAndTermLoanMember_znBxqI621ZTd" title="Interest rate"><ix:nonFraction name="us-gaap:LongTermDebtPercentageBearingVariableInterestRate" contextRef="AsOf2023-06-30_custom_BankUnitedMember_custom_RevolvingLoanAndTermLoanMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">11.75</ix:nonFraction></span>% as
of June 30, 2023.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">As of June 30, 2023 and December 31, 2022,
the Company had $<span id="xdx_908_eus-gaap--LineOfCredit_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zUaBI9czeEN4" title="Outstanding loans"><span id="xdx_90A_eus-gaap--LineOfCredit_iI_pp0p0_c20221231__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zip1LV8z5OKa" title="Outstanding loans"><ix:nonFraction name="us-gaap:LineOfCredit" contextRef="AsOf2023-06-30_custom_BankUnitedMember_us-gaap_RevolvingCreditFacilityMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD"><ix:nonFraction name="us-gaap:LineOfCredit" contextRef="AsOf2022-12-31_custom_BankUnitedMember_us-gaap_RevolvingCreditFacilityMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">21,000,000</ix:nonFraction></ix:nonFraction></span></span> million outstanding under the Revolving Loan. $<span id="xdx_909_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zk9F061sP7z7" title="Current portion of line of credit"><ix:nonFraction name="us-gaap:LinesOfCreditCurrent" contextRef="AsOf2023-06-30_custom_BankUnitedMember_us-gaap_RevolvingCreditFacilityMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,640,000</ix:nonFraction></span> of the Revolving Loan is payable by June 30,
2024 and the remaining balance of $<span id="xdx_907_eus-gaap--LongTermLineOfCredit_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zmIrDrcWfzQd" title="Line of credit"><ix:nonFraction name="us-gaap:LongTermLineOfCredit" contextRef="AsOf2023-06-30_custom_BankUnitedMember_us-gaap_RevolvingCreditFacilityMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">18,360,000</ix:nonFraction></span> of the revolving line of credit matures and is payable by November 30, 2024.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Term Loan had an aggregate principal
amount of $<span id="xdx_901_eus-gaap--DebtInstrumentCarryingAmount_iI_pp0p0_c20230630__us-gaap--CreditFacilityAxis__custom--TermLoanMember_z3rzbXrvcW0l" title="Aggregate principal amount"><ix:nonFraction name="us-gaap:DebtInstrumentCarryingAmount" contextRef="AsOf2023-06-30_custom_TermLoanMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">133,333</ix:nonFraction></span>, payable in monthly installments, as defined in the Credit Agreement, as of June 30, 2023 as compared to an
aggregate principal amount outstanding as of December 31, 2022 of $<span id="xdx_905_eus-gaap--DebtInstrumentCarryingAmount_iI_pp0p0_c20221231__us-gaap--CreditFacilityAxis__custom--TermLoanMember_zYBsBHQc7gb7" title="Aggregate principal balance"><ix:nonFraction name="us-gaap:DebtInstrumentCarryingAmount" contextRef="AsOf2022-12-31_custom_TermLoanMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,583,333</ix:nonFraction></span>.</p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock"><p id="xdx_898_eus-gaap--ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_zxGT6qVX5xma" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="xdx_8B3_zHee8dp3iCdl">The maturities of long-term debt (excluding
unamortized debt issuance costs) are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</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>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" id="xdx_495_20230630_zJ5db5W3aVBf" style="text-align: center">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_402_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear_iI_maLTDzhnE_z279lG9HrR3c" style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="width: 31%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Remainder of 2023</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="width: 15%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">181,827</ix:nonFraction></span></td>
    <td style="width: 1%">&#160;</td></tr>
<tr id="xdx_404_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_iI_maLTDzhnE_zIjaCc4aSlV9" style="vertical-align: bottom; background-color: white">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2024</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">51,801</ix:nonFraction></span></td>
    <td>&#160;</td></tr>
<tr id="xdx_408_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_iI_maLTDzhnE_zdfuGNhLjFD2" style="vertical-align: bottom; background-color: #CCEEFF">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2025</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</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:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">29,028</ix:nonFraction></span></td>
    <td>&#160;</td></tr>
<tr id="xdx_403_eus-gaap--LongTermDebt_iTI_mtLTDzhnE_zYNLxufLz4m" style="vertical-align: bottom; background-color: white">
    <td><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>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.5pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">262,656</ix:nonFraction></span></td>
    <td>&#160;</td></tr>
</table>
</ix:nonNumeric><p id="xdx_8A3_z0f6Hilp1zqj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Included in long-term debt are financing
leases and other notes payable of $<span id="xdx_903_eus-gaap--LongTermDebtAndCapitalLeaseObligations_iI_pp0p0_c20230630_zv5YYqvNyiPj" title="Financing leases and notes payable"><ix:nonFraction name="us-gaap:LongTermDebtAndCapitalLeaseObligations" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">129,323</ix:nonFraction></span> and $<span id="xdx_906_eus-gaap--LongTermDebtAndCapitalLeaseObligations_iI_pp0p0_c20221231_zdSHp8lgDfac"><ix:nonFraction name="us-gaap:LongTermDebtAndCapitalLeaseObligations" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">207,414</ix:nonFraction></span> at June 30, 2023 and December 31, 2022, respectively, including a current
portion of $<span id="xdx_906_eus-gaap--LongTermDebtAndCapitalLeaseObligationsCurrent_iI_pp0p0_c20230630_zMKC8Z2ng175" title="Financing leases and notes payable current"><ix:nonFraction name="us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">87,838</ix:nonFraction></span> and $<span id="xdx_90A_eus-gaap--LongTermDebtAndCapitalLeaseObligationsCurrent_iI_pp0p0_c20221231_zujdMDf7lmxj"><ix:nonFraction name="us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">136,433</ix:nonFraction></span>, respectively.</p>

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

<ix:exclude><!-- Field: Page; Sequence: 5; Value: 11 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="margin-top: 0pt; text-align: center; margin-bottom: 0pt; font-size: 10pt">&#160;<!-- Field: Sequence; Type: Arabic; Name: PageNo -->15<!-- 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>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company has cumulatively paid approximately
$<span id="xdx_904_eus-gaap--PaymentsOfDebtIssuanceCosts_pp0p0_c20160325__20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zgst7bD4Fmuc" title="Payments of debt issuance costs"><ix:nonFraction name="us-gaap:PaymentsOfDebtIssuanceCosts" contextRef="From2016-03-252023-06-30_custom_BankUnitedMember" 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_90D_eus-gaap--DeferredFinanceCostsNoncurrentNet_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zivVpL43DHZ" title="Debt issuance costs"><ix:nonFraction name="us-gaap:DeferredFinanceCostsNoncurrentNet" contextRef="AsOf2023-06-30_custom_BankUnitedMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">126,000</ix:nonFraction></span> is included in
other assets at June 30, 2023.</p>

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

<!-- Field: Page; Sequence: 6; Value: 11 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="margin-top: 0pt; text-align: center; margin-bottom: 0pt; font-size: 10pt">&#160;<!-- Field: Sequence; Type: Arabic; Name: PageNo -->16<!-- 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:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:ConcentrationRiskDisclosureTextBlock"><p id="xdx_80A_eus-gaap--ConcentrationRiskDisclosureTextBlock_zu0HnHJvyvC8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#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: 3%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>9.</b></span></td>
    <td id="xdx_828_z2QOVh3AbVJf" style="width: 97%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>MAJOR CUSTOMERS</b></span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During the six months ended June 30, 2023,
our two largest customers accounted for <span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zCCbUIRbmjqj" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">32</ix:nonFraction></span>% and <span id="xdx_90D_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zim92Cbg1jLb" title="Concentration risk, percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">29</ix:nonFraction></span>% of revenue. During the six months ended June 30, 2022, our three largest customers
accounted for <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zBDH1Q9n539b"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">36</ix:nonFraction></span>%, <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zioK5xOyZA3h"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">14</ix:nonFraction></span>% and <span id="xdx_906_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zWHXLRm8BbXe"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">11</ix:nonFraction></span>% of revenue.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">At June 30, 2023, <span id="xdx_90C_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zZVxSLXicKg1"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-06-30_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">22</ix:nonFraction></span>%, <span id="xdx_90B_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zimVR4jzXsLd" title="Concentration Risk, Percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-06-30_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">19</ix:nonFraction></span>%, <span id="xdx_907_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zirRcW94cDu9" title="Concentration Risk, Percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-06-30_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">17</ix:nonFraction></span>% and <span id="xdx_90C_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFourMember_zPEhJwQHt9Ih" title="Concentration Risk, Percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-06-30_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFourMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">15</ix:nonFraction></span>%
of our contract assets were from four of our largest customers. At December 31, 2022, <span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_z5pc7I6Dj6V"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-12-31_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">27</ix:nonFraction></span>%, <span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zAqwNakqpmHe"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-12-31_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">20</ix:nonFraction></span>%, <span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zwGNls4ocAE8"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-12-31_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">16</ix:nonFraction></span>%, and <span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFourMember_z3dV7EWgpbt"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-12-31_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFourMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">16</ix:nonFraction></span>% of our contract assets
were related to our four largest customers.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">At June 30, 2023, <span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zTKLRXPvtLK5" title="Concentration Risk, Percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-06-30_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">22</ix:nonFraction></span>%, <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zdsve9iIRgu9" title="Concentration Risk, Percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-06-30_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">17</ix:nonFraction></span>%, <span id="xdx_90C_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zkRz5w6uRmTj" title="Concentration Risk, Percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-06-30_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">13</ix:nonFraction></span>%, <span id="xdx_90F_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFourMember_zrTtLLzqLLTh" title="Concentration Risk, Percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-06-30_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFourMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">11</ix:nonFraction></span>% and
<span id="xdx_90F_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFiveMember_zHvUGyEG2Bna" title="Concentration Risk, Percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-01-012023-06-30_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFiveMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">10</ix:nonFraction></span>% of our accounts receivable were from five of our largest customers. At December 31, 2022, <span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zh2Ef0pGztNh"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-12-31_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">38</ix:nonFraction></span>%, <span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_ze2x7QWcX0U1"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-12-31_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">21</ix:nonFraction></span>%, <span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zsLgd6GKA0e"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-12-31_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">17</ix:nonFraction></span>%, and <span id="xdx_907_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFourMember_ztlLGWT3YGul"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-01-012022-12-31_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFourMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">13</ix:nonFraction></span>% of accounts
receivable were due from our four largest customers.</p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:LesseeOperatingLeasesTextBlock"><p id="xdx_80F_eus-gaap--LesseeOperatingLeasesTextBlock_zq9iAGwtWTda" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#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: 48px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>10.</b></span></td>
    <td id="xdx_824_zJbFckflrpp3" style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>LEASES</b></span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">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_904_eus-gaap--LeaseExpirationDate1_c20230101__20230630_zLXdsowMGf44" title="Expiration date"><ix:nonNumeric contextRef="From2023-01-01to2023-06-30" format="ixt:datemonthdayyearen" 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.</p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">For the six months ended June 30, 2023
and 2022, the Company&#8217;s operating lease expense was $<span id="xdx_903_eus-gaap--OperatingLeaseCost_c20230101__20230630_zoeHpAgOrRZ4" title="Operating lease expense"><ix:nonFraction name="us-gaap:OperatingLeaseCost" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,084,968</ix:nonFraction></span> and $<span id="xdx_90F_eus-gaap--OperatingLeaseCost_c20220101__20220630_z8rv72bc6BUc" title="Operating lease expense"><ix:nonFraction name="us-gaap:OperatingLeaseCost" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,051,911</ix:nonFraction></span>, respectively. For the three months ended June
30, 2023 and 2022, the Company&#8217;s operating lease expense was $<span id="xdx_90D_eus-gaap--OperatingLeaseCost_c20230401__20230630_zHfoL2JRDqF" title="Operating lease expense"><ix:nonFraction name="us-gaap:OperatingLeaseCost" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">550,942</ix:nonFraction></span> and $<span id="xdx_90D_eus-gaap--OperatingLeaseCost_c20220401__20220630_zGejoTbcukQ7" title="Operating lease expense"><ix:nonFraction name="us-gaap:OperatingLeaseCost" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">516,920</ix:nonFraction></span>, respectively.</p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock"><p id="xdx_89F_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_zX21dzOwfb63" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="xdx_8B7_zGKqrvPb1rrc">Future minimum lease payments under non-cancellable
operating leases as of June 30, 2023 were as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</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><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>For the Year Ending December 31,</b></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" id="xdx_49D_20230630_zOaKCwPm8hAe" style="text-align: justify">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maOLFMPzv5G_zMYwLjB1ph21" style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="width: 86%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Remainder of 2023</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="width: 10%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,096,220</ix:nonFraction></span></td>
    <td style="width: 1%">&#160;</td></tr>
<tr id="xdx_403_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maOLFMPzv5G_zhivs9pjlRpe" style="vertical-align: bottom; background-color: white">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2024</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,228,784</ix:nonFraction></span></td>
    <td>&#160;</td></tr>
<tr id="xdx_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maOLFMPzv5G_zNor4RyUc2w8" style="vertical-align: bottom; background-color: #CCEEFF">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2025</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,283,354</ix:nonFraction></span></td>
    <td>&#160;</td></tr>
<tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_maOLFMPzv5G_zC4uHLYeEp77" style="vertical-align: bottom; background-color: white">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2026</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">850,276</ix:nonFraction></span></td>
    <td>&#160;</td></tr>
<tr id="xdx_407_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFour_iI_maOLFMPzv5G_zEk1cpY66KV2" style="vertical-align: bottom; background-color: #CCEEFF">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2027</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">111,065</ix:nonFraction></span></td>
    <td>&#160;</td></tr>
<tr id="xdx_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_iI_maOLFMPzv5G_z7dRFbYbLm23" style="vertical-align: bottom; background-color: white">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Thereafter</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</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:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,228</ix:nonFraction></span></td>
    <td>&#160;</td></tr>
<tr id="xdx_403_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtOLFMPzv5G_zJMVwJF3uVHj" style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="padding-left: 9pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total undiscounted operating lease payments</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,578,927</ix:nonFraction></span></td>
    <td>&#160;</td></tr>
<tr id="xdx_402_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zexsJFJdjrr9" style="vertical-align: bottom; background-color: white">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Less imputed interest </span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</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:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">536,037</ix:nonFraction></span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td></tr>
<tr id="xdx_408_eus-gaap--OperatingLeaseLiability_iI_zwZ2QR5bFBAf" style="vertical-align: bottom; background-color: #CCEEFF">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Present value of operating lease payments</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.5pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,042,890</ix:nonFraction></span></td>
    <td>&#160;</td></tr>
</table>
</ix:nonNumeric><p id="xdx_8A9_zhNHNK6DfNJ1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<ix:exclude><!-- Field: Page; Sequence: 7; Value: 11 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="margin-top: 0pt; text-align: center; margin-bottom: 0pt; font-size: 10pt">&#160;<!-- Field: Sequence; Type: Arabic; Name: PageNo -->17<!-- 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>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="cvu:LesseeOperatingLeasesTableTextBlock"><p id="xdx_899_ecustom--LesseeOperatingLeasesTableTextBlock_zJScyRalZjl5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="xdx_8B7_zx0SdYWZWfjc">The following table sets forth the ROU
assets and operating lease liabilities as of:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</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>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" id="xdx_49D_20230630_zzsKaXD0ILn5" 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></span><br />
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2023</b></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" id="xdx_493_20221231_zvqeZx4kCwBe" 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></span><br />
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2022</b></span></td>
    <td>&#160;</td></tr>
<tr id="xdx_409_eus-gaap--AssetsAbstract_iB_zqwiKBF9G1u" style="vertical-align: bottom">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Assets</b></span></td>
    <td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_409_eus-gaap--OperatingLeaseRightOfUseAsset_i01I_zKQr19tgFTFe" style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="width: 74%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ROU assets, net</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; width: 11%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,646,483</ix:nonFraction></span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; width: 9%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,526,627</ix:nonFraction></span></td>
    <td style="width: 1%">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: white">
    <td style="text-align: justify">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_40E_eus-gaap--LiabilitiesAbstract_iB_z1Gdx0pIOia4" style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Liabilities</b></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_402_eus-gaap--OperatingLeaseLiabilityCurrent_i01I_maOLLzT6D_maOLLzzJK_zKZQQ9qhg8k2" style="background-color: white">
    <td style="vertical-align: bottom; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Current operating lease liabilities</span></td>
    <td style="vertical-align: bottom">&#160;</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:OperatingLeaseLiabilityCurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,921,803</ix:nonFraction></span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</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:OperatingLeaseLiabilityCurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,817,811</ix:nonFraction></span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr id="xdx_408_eus-gaap--OperatingLeaseLiabilityNoncurrent_i01I_maOLLzT6D_maOLLzzJK_zhlgBDyKIUbi" style="background-color: #CCEEFF">
    <td style="vertical-align: bottom; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Long-term operating lease liabilities</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,121,087</ix:nonFraction></span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,077,235</ix:nonFraction></span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr id="xdx_404_eus-gaap--OperatingLeaseLiability_i01TI_mtOLLzT6D_mtOLLzzJK_zqNBfIxWu4r9" style="background-color: white">
    <td style="vertical-align: bottom; padding-left: 9pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total lease liabilities</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,042,890</ix:nonFraction></span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,895,046</ix:nonFraction></span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
</table>

</ix:nonNumeric><p id="xdx_8A3_zvqrPPmvOMsk" style="margin-top: 0; margin-bottom: 0">&#160;</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s weighted average remaining
lease term for its operating leases is <span id="xdx_903_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20230630_zl8oWSeSYP69" title="Weighted average remaining lease term operating leases"><ix:nonNumeric contextRef="AsOf2023-06-30" format="ixt-sec:duryear" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1">2.9</ix:nonNumeric></span> years as of June 30, 2023. The Company&#8217;s weighted average discount rate for its
operating leases is <span id="xdx_904_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_pid_dp_uPure_c20230630_z7piCcKfENPi" title="Weighted average discount rate for its operating leases"><ix:nonFraction name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">5.4</ix:nonFraction></span>% as of June 30, 2023.</p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:IncomeTaxDisclosureTextBlock"><p id="xdx_806_eus-gaap--IncomeTaxDisclosureTextBlock_zTAoKrJT1c4c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#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: 48px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>11.</b></span></td>
    <td id="xdx_821_zT36b0701Kt8" style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>INCOME TAXES</b></span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">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.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The provision for income tax for the six
months ended June 30, 2023 and 2022 was $<span id="xdx_908_eus-gaap--IncomeTaxExpenseBenefit_c20230101__20230630_zmsFlK7AfAfc" title="Provision for income taxes"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">298,046</ix:nonFraction></span> and $<span id="xdx_90E_eus-gaap--IncomeTaxExpenseBenefit_c20220101__20220630_zHvTcSLmQ0B9" title="Provision for income taxes"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2022-01-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,500</ix:nonFraction></span>, respectively. The provision for income tax for the three months ended
June 30, 2023 and 2022 was $<span id="xdx_904_eus-gaap--IncomeTaxExpenseBenefit_c20230401__20230630_zHUgt0OnTxp7" title="Provision for income taxes"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-04-012023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">98,789</ix:nonFraction></span> and $<span id="xdx_90F_eus-gaap--IncomeTaxExpenseBenefit_c20220401__20220630_z47BUPYnSIF3" title="Provision for income taxes"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2022-04-012022-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,225</ix:nonFraction></span>, respectively. The increase in the year-over-year provision for income tax is the
result of the Company&#8217;s valuation allowance on its deferred tax asset being partially released at December 31, 2022, resulting
in the periodic change in the deferred asset for the periods subsequent to December 31, 2022 being recorded through the Company&#8217;s
statement of operations during such periods. For the three and six months ending June 30, 2022 the company&#8217;s deferred tax
assets were fully offset by the valuation allowance, therefore there was only minimum state tax income expense recorded to the
Company&#8217;s statement of operations during those periods.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The effective income tax rate for the six
months ended June 30, 2023 is <span id="xdx_908_eus-gaap--EffectiveIncomeTaxRateContinuingOperations_pid_dp_uPure_c20230101__20230630_zkcFNPJNmnfc" title="Effective income tax rate"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" contextRef="From2023-01-01to2023-06-30" 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_907_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_c20230101__20230630_zCQBOaINHHT7" title="Statutory income tax rate"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">21</ix:nonFraction></span>% for the six months ended June 30, 2023 is due to the estimated R&amp;D credit, the partial
release of approximately $<span id="xdx_904_eus-gaap--ValuationAllowanceDeferredTaxAssetChangeInAmount_iN_di_c20230101__20230630_z662e1ulrdtk" title="Valuation allowance released"><ix:nonFraction name="us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount" contextRef="From2023-01-01to2023-06-30" 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.</p>

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

<ix:nonNumeric contextRef="From2023-01-01to2023-06-30" escape="true" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock"><p id="xdx_80A_eus-gaap--CommitmentsAndContingenciesDisclosureTextBlock_zxPTVqBj7hSe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#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: 48px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>12.</b></span></td>
    <td id="xdx_824_zgKpDDzuhhhd" style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>COMMITMENTS AND CONTINGENCIES</b></span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white"><b>Class
Action Lawsuit</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">A
consolidated class action lawsuit (captioned <i>Rodriguez v. CPI Aerostructures, Inc., et al.</i>, No. 20-cv-01026) was filed in
the U.S. District Court for the Eastern District of New York against the Company, Douglas McCrosson, the Company&#8217;s former
Chief Executive Officer, Vincent Palazzolo, the Company&#8217;s former Chief Financial Officer, and the two underwriters of the
Company&#8217;s October 16, 2018 offering of common stock, Canaccord Genuity LLC and B. Riley FBR. The Amended Complaint in the
action asserted claims on behalf of two plaintiff classes: (i) purchasers of the Company&#8217;s common stock issued pursuant to
and/or traceable to the Company&#8217;s offering conducted on or about October 16, 2018; and (ii) purchasers of the Company&#8217;s
common stock between March 22, 2018 and February 14, 2020. The Amended Complaint alleged that the defendants violated Sections
11, 12(a)(2), and 15 of the Securities Act by negligently permitting false and misleading statements to be included in the Company&#8217;s
registration statement and prospectus supplements issued in connection with the Company&#8217;s October 16, 2018 securities offering.
The Amended Complaint also alleged that the defendants violated Sections 10(b) and 20(a) of the Securities Exchange Act of 1934,
as amended (the &#8220;Exchange Act&#8221;), and Rule 10b-5 promulgated by the SEC, by making false and misleading statements in
the Company&#8217;s periodic reports filed between March 22, 2018 and February 14, 2020. Plaintiff sought unspecified compensatory
damages, including interest; rescission or a rescissory measure of damages; unspecified equitable or injunctive relief; and costs
and expenses, including attorney&#8217;s fees and expert fees. On February 19, 2021, the Company moved to dismiss the Amended Complaint.
Plaintiff submitted a brief in opposition to the motion to dismiss on April 23, 2021. </span></p>

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

<ix:exclude><!-- Field: Page; Sequence: 8; Value: 11 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="margin-top: 0pt; text-align: center; margin-bottom: 0pt; font-size: 10pt">&#160;<!-- Field: Sequence; Type: Arabic; Name: PageNo -->18<!-- 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>

<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="background-color: white">On
May 20, 2021, the parties reached a settlement in the amount of $<span id="xdx_900_eus-gaap--LitigationSettlementAmountAwardedToOtherParty_c20210519__20210520_zrz9Mryt95Tg" title="Settlement amount"><ix:nonFraction name="us-gaap:LitigationSettlementAmountAwardedToOtherParty" contextRef="From2021-05-192021-05-20" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,600,000</ix:nonFraction></span> (the &#8220;Settlement Amount&#8221;), subject to court
approval. On July 9, 2021, plaintiff filed an unopposed motion for preliminary approval of the settlement. On November 10, 2021,
a magistrate judge recommended that the court grant the motion for preliminary approval in its entirety. The court adopted the
recommendation on May 27, 2022, and entered an order granting preliminary approval of the settlement on June 7, 2022. On August
5, 2022, plaintiff filed an unopposed motion for final approval. The magistrate judge held a hearing on the final approval motion
on September 9, 2022. On February 16, 2023, the magistrate judge recommended that the Court grant the final approval motion in
its entirety. The Court adopted that recommendation in its entirety on March 10, 2023, and terminated the case on March 13, 2023.
On May 5, 2023, the Settlement Amount was transferred to plaintiff&#8217;s counsel from the escrow account established for this
purpose.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="background-color: white"><b>Shareholder Derivative
Action</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">Four
shareholder derivative actions, each based on substantially the same facts as those alleged in the class action discussed above,
have been filed against certain current and former members of our board of directors and certain of our current and former officers.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">The
first action (captioned <i>Moulton v. McCrosson, et.al.</i>, No. 20-cv-02092) was filed on May 7, 2020, in the U.S. District Court
for the Eastern District of New York. It purports to assert derivative claims against the individual defendants for violations
of Section 10(b) and 21D of the Exchange Act, breach of fiduciary duty, and unjust enrichment and seeks to recover on behalf of
the Company for any liability the Company might incur as a result of the individual defendants&#8217; alleged misconduct. The complaint
also seeks declaratory, equitable, injunctive, and monetary relief, as well as attorneys&#8217; fees and other costs. On October
26, 2020, plaintiff filed an amended complaint. On January 27, 2021, the court stayed the action pursuant to a joint stipulation
filed by the parties.</span></p>

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

<ix:exclude><!-- Field: Page; Sequence: 9; Value: 11 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="margin-top: 0pt; text-align: center; margin-bottom: 0pt; font-size: 10pt">&#160;<!-- Field: Sequence; Type: Arabic; Name: PageNo -->19<!-- 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>

<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="background-color: white">The
second action (captioned <i>Woodyard v. McCrosson, et al.</i>, Index No. 613169/2020) was filed on September 17, 2020, in the Supreme
Court of the State of New York (Suffolk County). It purports to assert derivative claims against the individual defendants for
breach of fiduciary duty and unjust enrichment, and seeks to recover on behalf of the Company for any liability the Company might
incur as a result of the individual defendants&#8217; alleged misconduct, along with declaratory, equitable, injunctive and monetary
relief, as well as attorneys&#8217; fees and other costs. On December 22, 2020, the parties filed a joint stipulation staying the
action pending further developments in the class action.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">The
third action (captioned <i>Berger v. McCrosson, et al.</i>, No. 1:20-cv-05454) was filed on November 10, 2020, in the U.S. District
Court for the Eastern District of New York. The complaint, which is based on the shareholder&#8217;s inspection of certain corporate
books and records, purports to assert derivative claims against the individual defendants for breach of fiduciary duty and unjust
enrichment, and seeks to implement reforms to the Company&#8217;s corporate governance and internal procedures and to recover on
behalf of the Company an unspecified amount of monetary damages. The complaint also seeks equitable, injunctive, and monetary relief,
as well as attorneys&#8217; fees and other costs.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">On
March 19, 2021, the parties to the <i>Moulton and Berger</i> actions filed a joint stipulation consolidating the actions (under
the caption <i>In re CPI Aerostructures Stockholder Derivative Litigation</i>, No. 20-cv-02092) and staying the consolidated action
pending further developments in the class action.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">The
fourth action (captioned <i>Wurst, et al. v. Bazaar, et al.</i>, Index No. 605244/2021) was filed on March 24, 2021, in the Supreme
Court of the State of New York (Suffolk County). The complaint purports to assert derivative claims against the individual defendants
for breach of fiduciary duty, unjust enrichment, and waste of corporate assets, and seeks to recover on behalf of the Company for
any liability the Company might incur as a result of the individual defendants&#8217; alleged misconduct. The complaint also seeks
declaratory, equitable, injunctive, and monetary relief, as well as attorneys&#8217; fees and other costs. On April 12, 2021, the
parties filed a joint stipulation staying the action pending further developments in the class action.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">On
June 13, 2022, plaintiffs in the consolidated federal action informed the court that the Company and all defendants had reached
an agreement in principle with all plaintiffs to settle the shareholder derivative lawsuits described above. On June 16, 2022,
plaintiffs in the consolidated federal action filed an unopposed motion for preliminary approval of the settlement. On July 22,
2022, the court referred the motion to the magistrate judge. The magistrate judge held a conference on September 9, 2022 in the
consolidated federal action. On February 14, 2023, the magistrate judge recommended that the court grant the motion in its entirety.
On March 6, 2023, the court granted preliminary approval of the proposed settlement.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white">On May 17, 2023,
plaintiffs in the consolidated federal action filed an unopposed motion for final approval of the settlement. <span style="background-color: white">The
magistrate judge held a final approval hearing on June 7, 2023. The final approval motion remains pending.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="background-color: white">The
terms of the proposed settlement are set forth in the stipulation of settlement agreed to by the Company and plaintiffs. Should
the proposed settlement receive final approval from the Court, it will result in the dismissal of the shareholder derivative lawsuits.
As part of the proposed settlement, the Company has agreed to undertake (or confirm that it has undertaken already) certain corporate
governance reforms. In addition, the Company and/or its insurer have agreed to pay a total of $<span id="xdx_90D_eus-gaap--LegalFees_c20230516__20230517_zfmZ3pia4WXb" title="Attorneys&apos; fees"><ix:nonFraction name="us-gaap:LegalFees" contextRef="From2023-05-162023-05-17" format="ixt:numdotdecimal" decimals="0" unitRef="USD">585,000</ix:nonFraction></span> in attorneys&#8217; fees
to plaintiffs&#8217; counsel.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; background-color: white"><span style="background-color: white"><b>Litigation
Settlement Obligation and Insurance Recovery Receivable Pertaining to the Class Action Lawsuit and Shareholder Derivative Action</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">The
attorneys&#8217; fees for both the class action lawsuit and the shareholder derivative actions were covered and paid by our directors&#8217;
and officers&#8217; insurance carrier, after satisfaction of our $<span id="xdx_905_eus-gaap--LitigationSettlementExpense_c20230101__20230630_zgZzk9B2gZr2" title="Covered settlement amount"><ix:nonFraction name="us-gaap:LitigationSettlementExpense" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">750,000</ix:nonFraction></span> retention. As of June 30, 2023, we had previously paid
and accrued to our financial statements covered expenses totaling $<span id="xdx_90F_eus-gaap--LitigationSettlementExpense_c20230101__20230630_zWsQsuF3LGh9" title="Covered settlement amount"><ix:nonFraction name="us-gaap:LitigationSettlementExpense" contextRef="From2023-01-01to2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">750,000</ix:nonFraction></span>, and had therefore met our insurance carrier&#8217;s
directors&#8217; and officers&#8217; retention requirement, which capped the Company&#8217;s expenses pertaining to the class action
suit at $<span id="xdx_90D_ecustom--DirectorsAndOfficersInsuranceRetentionAmount_iI_c20230630_z0maLDl5AiC4" title="Directors and officers insurance retention amount"><ix:nonFraction name="cvu:DirectorsAndOfficersInsuranceRetentionAmount" contextRef="AsOf2023-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">750,000</ix:nonFraction></span>. Because the Settlement Amount was transferred to counsel for plaintiff in the class action lawsuit on May 5,
2023, from the escrow account established for this purpose, we have relieved from our balance sheet, as of that date, the amounts
previously owed from our directors&#8217; and officers&#8217; insurance carrier and to that plaintiff.</span></p>

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

<!-- Field: Page; Sequence: 10; Value: 11 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="margin-top: 0pt; text-align: center; margin-bottom: 0pt; font-size: 10pt">&#160;<!-- Field: Sequence; Type: Arabic; Name: PageNo -->20<!-- 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"><b><span id="scmnpxa008"></span>Item 2 &#8211; Management&#8217;s Discussion
and Analysis of Financial Condition and Results of Operations</b></p>

<table cellspacing="0" cellpadding="0" style="font: 6pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: top; background-color: black">
    <td style="width: 100%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: justify">&#160;</td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

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

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

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

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

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

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

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

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

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white">Our business and
operations and the industries in which we operate have been impacted by public and private sector policies and initiatives in the
U.S. to address the transmission of COVID-19, such as the imposition of travel restrictions and the adoption of remote work. The
COVID-19 pandemic has contributed to a general slowdown in the global economy, has adversely impacted the businesses of certain
of our customers and suppliers, and could adversely impact our results of operations and financial condition. In response to the
COVID-19 impact on our business, we have been taking actions to preserve capital and protect the long-term needs of our businesses,
including negotiating progress payments with our customers and reducing discretionary spending. For more information on the current
and potential impact of the COVID-19 pandemic on our business, see Risk Factors included in Part I, Item 1A of our Form 10-K.</p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white">On May 5, 2023,
a settlement amount of $3,600,000, after approval by the Court, of which the Company had paid amounts totaling $750,000 as its
retention limit under its directors&#8217; and officers&#8217; insurance policy, was transferred to counsel for plaintiff in the
consolidated class action <span style="background-color: white">lawsuit (captioned <i>Rodriguez v. CPI Aerostructures, Inc., et
al.</i>, No. 20-cv-01026) against the Company, Douglas McCrosson, the Company&#8217;s former Chief Executive Officer, Vincent Palazzolo,
the Company&#8217;s former Chief Financial Officer, and the two underwriters of the Company&#8217;s October 16, 2018 offering of
common stock, Canaccord Genuity LLC and B. Riley FBR. Accordingly, we have relieved from our balance sheet, as of that date, the
amounts previously owed from our directors&#8217; and officers&#8217; insurance carrier and to that plaintiff.</span></p>

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

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

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

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

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

<!-- Field: Page; Sequence: 11; Value: 11 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="margin-top: 0pt; text-align: center; margin-bottom: 0pt; font-size: 10pt">&#160;<!-- Field: Sequence; Type: Arabic; Name: PageNo -->21<!-- 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; background-color: white">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Our total backlog as of June 30, 2023 and
December 31, 2022 was as follows:</p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 60%; border-collapse: collapse; margin-left: 0.25in">
<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></span><br />
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(Total)</b></span></td>
    <td style="border-bottom: black 1pt solid">&#160;</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></span><br />
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2023</b></span></td>
    <td>&#160;</td>
    <td>&#160;</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></span><br />
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2022</b></span></td>
    <td>&#160;</td></tr>
<tr style="background-color: #CCEEFF">
    <td style="vertical-align: bottom; width: 20%; padding-left: 12pt; text-align: center; text-indent: -12pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Funded</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</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: 17%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">118,208,000</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td>
    <td style="vertical-align: bottom; width: 1%">&#160;</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: 17%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">122,148,000</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td></tr>
<tr style="background-color: white">
    <td style="vertical-align: bottom; padding-left: 12pt; text-align: center; text-indent: -12pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Unfunded</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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">392,020,000</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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">392,352,000</span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr style="background-color: #CCEEFF">
    <td style="vertical-align: bottom; padding-left: 12pt; text-align: center; text-indent: -12pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">510,228,000</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">514,500,000</span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
</table>

<p style="margin-top: 0; margin-bottom: 0">&#160;</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Approximately 98% of the total amount of
our backlog at June 30, 2023 was attributable to government and military contractor contracts. Our backlog attributable to government
and military contractor contracts at June 30, 2023 and December 31, 2022 was as follows:</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</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></span><br />
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(Government/Military Contractors)</b></span></td>
    <td style="border-bottom: black 1pt solid">&#160;</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></span><br />
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2023</b></span></td>
    <td>&#160;</td>
    <td>&#160;</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></span><br />
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2022</b></span></td>
    <td>&#160;</td></tr>
<tr style="background-color: #CCEEFF">
    <td style="vertical-align: bottom; width: 20%; padding-left: 12pt; text-align: center; text-indent: -12pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Funded</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</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: 17%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">116,729,000</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td>
    <td style="vertical-align: bottom; width: 1%">&#160;</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: 17%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">119,133,000</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td></tr>
<tr style="background-color: white">
    <td style="vertical-align: bottom; padding-left: 12pt; text-align: center; text-indent: -12pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Unfunded</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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">382,634,000</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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">384,652,000</span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr style="background-color: #CCEEFF">
    <td style="vertical-align: bottom; padding-left: 12pt; text-align: center; text-indent: -12pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">499,363,000</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">503,785,000</span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
</table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</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></span><br />
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(Commercial)</b></span></td>
    <td style="border-bottom: black 1pt solid">&#160;</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></span><br />
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2023</b></span></td>
    <td>&#160;</td>
    <td>&#160;</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></span><br />
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2022</b></span></td>
    <td>&#160;</td></tr>
<tr style="background-color: #CCEEFF">
    <td style="vertical-align: bottom; width: 20%; padding-left: 12pt; text-align: center; text-indent: -12pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Funded</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</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: 17%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1,479,000</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td>
    <td style="vertical-align: bottom; width: 1%">&#160;</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: 17%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3,015,000</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td></tr>
<tr style="background-color: white">
    <td style="vertical-align: bottom; padding-left: 12pt; text-align: center; text-indent: -12pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Unfunded</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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">9,386,000</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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">7,700,000</span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr style="background-color: #CCEEFF">
    <td style="vertical-align: bottom; padding-left: 12pt; text-align: center; text-indent: -12pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10,865,000</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10,715,000</span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The total backlog at June 30, 2023 is
primarily comprised of long-term programs with Raytheon (Next Generation Jammer (&#8220;NGJ&#8221;) &#8211; Mid Band Pods), Raytheon
(Advanced Tactical Pods), USAF (T-38 Classic Structural Modification Kits), Collins Aerospace (Pods), Lockheed Martin (F-16
RI/DCC&#8217;s), Raytheon (B-52 Radar Racks), Sikorsky (CH-53K Welded Tubes, Sikorsky (UH-60 BLACKHAWK Gunner Windows), Embraer
(Phenom 300 Engine Inlets), Northrop Grumman (E-2D Advanced Hawkeye), Boeing (A-10 Main Landing Gear Pods) and Sikorsky (UH-60
BLACKHAWK <span style="background-color: white">Stabilator MRO)</span>.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The funded backlog is primarily from purchase
orders under long-term contracts with Raytheon NGJ &#8211; Mid Band Pods, USAF (T-38 Classic
Structural Modification Kits), Collins Aerospace (Pods), Boeing (A-10 Main Landing Gear Pods), Lockheed Martin F-16 RI/DCC&#8217;s, Raytheon (Advanced Tactical Pods) and Northrop Grumman (E-2D Advanced Hawkeye).</p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">We 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 policies. There
have been no significant changes to the application of our critical accounting policies during the quarter ended June 30, 2023.</p>

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

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Total Revenue for the three months ended
June 30, 2023 was $20,547,555 compared to $18,925,406 for the same period last year, an increase of $1,622,149 or 8.6%. The increase
was primarily related to increases in Raytheon NGJ Pods and Raytheon B-52 Radar Racks, partly
offset by decreases in Sikorsky UH-60 BLACKHAWK Hover Infrared Suppression System (&#8220;HIRSS&#8221;) Module Assemblies.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Total Revenue for the six months ended
June 30, 2023 was $42,564,223 compared to $39,060,503 for the same period last year, an increase of $3,503,720 or 9.0%. The increase
was primarily related to increases in Raytheon NGJ Pods and Raytheon B-52 Radar Racks, partly
offset by decreases in Sikorsky UH-60 BLACKHAWK HIRSS Module Assemblies.</p>

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

<!-- Field: Page; Sequence: 12; Value: 11 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="margin-top: 0pt; text-align: center; margin-bottom: 0pt; font-size: 10pt">&#160;<!-- Field: Sequence; Type: Arabic; Name: PageNo -->22<!-- 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">Revenue from military subcontracts was
$16,502,026 for the three months ended June 30, 2023 compared to $15,520,336 for the three months ended June 30, 2022, an increase
of $981,690 or 6.3%. The increase was primarily related to increases in Raytheon NGJ Pods
and Raytheon B-52 Radar Racks, partly offset by decreases in Sikorsky UH-60 BLACKHAWK HIRSS
Module Assemblies and GKN UH-60 BLACKHAWK Inlet Ducts.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Revenue from military subcontracts was
$35,174,919 for the six months ended June 30, 2023 compared to $32,716,830 for the six months ended June 30, 2022, an increase
of $2,458,089 or 7.5%. The increase was primarily related to increases in Raytheon NGJ Pods
and Raytheon B-52 Radar Racks, partly offset by decreases in Sikorsky UH-60 BLACKHAWK HIRSS
Module Assemblies, <span style="background-color: white">Northrop Grumman E-2D Advanced Hawkeye Wet Outer Wing Panels (&#8220;WOWP&#8221;)
</span>and Sikorsky UH-60 BLACKHAWK Gunner Windows.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Revenue from government military contracts
was $2,710,925 for the three months ended June 30, 2023 compared to $1,887,074 for the three months ended June 30, 2022, an increase
of $823,851 or 43.7%. The increase was primarily related to increases in USAF T-38 Pacer Classic Structural Modification Kits and DLA F-16 Structural Wing Components and MRO Services.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Revenue from government military contracts
was $4,118,959 for the six months ended June 30, 2023 compared to $3,416,546 for the six months ended June 30, 2022, an increase
of $702,413 or 20.6%. The increase was primarily related to increases in USAF T-38 Pacer Classic Structural Modification Kits and
Defense Logistics Agency (&#8220;DLA&#8221;) F-16 Structural Wing Components and MRO Services.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Revenue from commercial subcontracts was
$1,334,604 for the three months ended June 30, 2023 compared to $1,517,996 for the three months ended June 30, 2022, a decrease
of $183,392 or 12.1%. The decrease was primarily the result of lower revenue recognized on the Gulfstream G650 Wing Fixed Leading
Edges.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Revenue from commercial subcontracts was
$3,270,345 for the six months ended June 30, 2023 compared to $2,927,126 for the six months ended June 30, 2022, an increase of
$343,219 or 11.7%. The increase was primarily the result of higher revenue recognized on Embraer Phenom 300 Engine Inlet Assemblies,
partly offset by lower revenue recognized on the Gulfstream G650 Wing Fixed Leading Edges.</p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Total Cost of Sales for the three months
ended June 30, 2023 and 2022 was $15,943,555 and $15,265,716, respectively, an increase of $677,839 or 4.4%.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Total Cost of Sales for the six months
ended June 30, 2023 and 2022 was $33,297,707 and $31,966,204, respectively, an increase of $1,331,503 or 4.2%.</p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</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 style="text-align: center">&#160;</td>
    <td>&#160;</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></span></td>
    <td>&#160;</td>
    <td>&#160;</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></span></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center">&#160;</td>
    <td>&#160;</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></span><br />
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2023</b></span></td>
    <td>&#160;</td>
    <td>&#160;</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></span><br />
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2022</b></span></td>
    <td>&#160;</td>
    <td>&#160;</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></span><br />
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2023</b></span></td>
    <td>&#160;</td>
    <td>&#160;</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 31,</b></span><br />
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2022</b></span></td>
    <td>&#160;</td></tr>
<tr style="background-color: #CCEEFF">
    <td style="vertical-align: bottom; width: 40%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Procurement</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</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">9,655,932</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td>
    <td style="vertical-align: bottom; width: 1%">&#160;</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: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10,416,731</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td>
    <td style="vertical-align: bottom; width: 1%">&#160;</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">21,730,533</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td>
    <td style="vertical-align: bottom; width: 1%">&#160;</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: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">21,588,456</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td></tr>
<tr style="background-color: white">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Labor</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1,867,283</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1,707,066</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3,722,146</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3,693,335</span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr style="background-color: #CCEEFF">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Factory overhead</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4,266,566</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3,754,557</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">8,046,445</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">8,045,129</span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: white">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other cost of sales</span></td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">153,774</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(612,638</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(201,417</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1,360,716</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td></tr>
<tr style="vertical-align: bottom; background-color: #CCEEFF">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Cost of sales</b></span></td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.5pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>$</b></span></td>
    <td style="border-bottom: black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>15,943,555</b></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.5pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>$</b></span></td>
    <td style="border-bottom: black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>15,265,716</b></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.5pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>$</b></span></td>
    <td style="border-bottom: black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>33,297,707</b></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.5pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>$</b></span></td>
    <td style="border-bottom: black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>31,966,204</b></span></td>
    <td>&#160;</td></tr>
</table>

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

<!-- Field: Page; Sequence: 13; Value: 11 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="margin-top: 0pt; text-align: center; margin-bottom: 0pt; font-size: 10pt">&#160;<!-- Field: Sequence; Type: Arabic; Name: PageNo -->23<!-- 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>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Procurement for the three months ended
June 30, 2023 was $9,655,932 compared to $10,416,731 for the three months ended June 30, 2022, a decrease of $760,799 or 7.3%.
The decrease was primarily related to a lower amount of material procurement and favorable material adjustments, primarily in Lockheed
Martin F-16 RI/DCC&#8217;s, Sikorsky UH-60 BLACKHAWK Gunner Windows, and Sikorsky UH-60
BLACKHAWK HIRSS Module Assemblies, partly offset by a higher amount of material
procurement and favorable material adjustments in Raytheon NGJ Pods and USAF T-38 Pacer
Classic Structural Modification Kits.</p>

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

<!-- Field: Page; Sequence: 14; Value: 11 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="margin-top: 0pt; text-align: center; margin-bottom: 0pt; font-size: 10pt">&#160;<!-- Field: Sequence; Type: Arabic; Name: PageNo -->24<!-- 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">Procurement for the six months ended June
30, 2023 was $21,730,533 compared to $21,588,456 for the six months ended June 30, 2022, an increase of $142,077 or 0.7%. The increase,
which was partly offset by favorable material adjustments, was primarily related to a higher amount of material procurement in
Sikorsky UH-60 BLACKHAWK HIRSS Module Assemblies, Northrop Grumman E-2D Advanced
Hawkeye WOWP&#8217;s and Sikorsky UH-60 BLACKHAWK Gunner Windows, partly offset by a lower amount
of material procurement and favorable material adjustments in Raytheon NGJ Pods, USAF T-38
Pacer Classic Structural Modification Kits, Lockheed Martin F-16 RI/DCC&#8217;s and
Raytheon B-52 Radar Racks.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Labor costs for the three months ended
June 30, 2023 were $1,867,283 compared to $1,707,066 for the three months ended June 30, 2022, an increase of $160,217 or 9.4%.
The increase was primarily related to increases in Raytheon NGJ Pods and Boeing A-10 Main
Landing Gear Pods.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Labor costs for the six months ended June
30, 2023 were $3,722,146 compared to $3,693,335 for the six months ended June 30, 2022, an increase of $28,811 or 0.8%. The increase
was primarily related to increases in Raytheon NGJ Pods and Boeing A-10 Main Landing Gear
Pods.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Factory overhead for the three months ended
June 30, 2023 was $4,266,566 compared to $3,754,557 for the three months ended June 30, 2022, an increase of $512,009 or 13.6%.
This increase was primarily the result of higher salary and benefit costs.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Factory overhead for the six months ended
June 30, 2023 was $8,046,445 compared to $8,045,129 (which included a $134,628 severance charge recorded in factory overhead during
the six months ended June 30, 2022) for the six months ended June 30, 2022, an increase of $1,316. Excluding the $134,628 severance
charge recorded during the six months ended June 30, 2022, the factory overhead for the six months ended June 30, 2023 increased
$135,944 or 1.7% from the factory overhead for the six months ended June 30, 2022. This increase was primarily the result of higher
salary and benefit costs, partly offset by lower delivery service and building maintenance.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Other cost of sales relates to items that
can increase or decrease cost of sales such as changes in inventory levels, changes in inventory valuation, changes to inventory
reserves, changes in loss contract provisions, absorption variances and direct charges to cost of sales. <span style="background-color: white">For
the three months ended June 30, 2023, there was $</span>153,774 <span style="background-color: white">compared to a reduction of
these costs in the amount of $</span>612,638 <span style="background-color: white">for the three months ended June 30, 2022, an
increase of $</span>766,412 <span style="background-color: white">or </span>125.1<span style="background-color: white">%. The increase
is primarily the result of a changes in inventory levels, and a lower level of inventory and loss contract reserves reduction for
the three months ended June 30, 2023 as compared to the three months ended June 30, 2022.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Other cost of sales for <span style="background-color: white">the
six months ended June 30, 2023 was a reduction of these costs in the amount of $</span>201,417 <span style="background-color: white">compared
to a reduction of these costs in the amount of $</span>1,360,716 <span style="background-color: white">for the six months ended
June 30, 2022, an increase of $</span>1,159,299 <span style="background-color: white">or </span>85.2<span style="background-color: white">%.
The increase is primarily the result of changes in inventory levels, and a lower level of inventory and loss contract reserves
reduction for the six months ended June 30, 2023 as compared to the six months ended June 30, 2022.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Gross profit and gross profit percentage
(&#8220;gross margin&#8221;) for the three months ended June 30, 2023 was $4,604,000 and 22.4%, respectively, compared to $3,659,690
and 19.3%, respectively, for the three months ended June 30, 2022, an increase of $944,310 and 310 basis points, respectively,
for the reasons noted above.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Gross profit and gross profit percentage
(&#8220;gross margin&#8221;) for the six months ended June 30, 2023 was $9,266,516 and 21.8%, respectively, compared to $7,094,299
and 18.2%, respectively, for the six months ended June 30, 2022, an increase of $2,172,217 and 360 basis points, respectively,
for the reasons noted above.</p>

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</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>&#160;</td>
    <td>&#160;</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></span></td>
    <td style="border-bottom: black 1pt solid">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</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></span><br />
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2023</b></span></td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</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></span><br />
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2022</b></span></td>
    <td style="border-bottom: black 1pt solid">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="width: 70%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Favorable adjustments</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1,913,135</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2,725,554</span></td>
    <td style="width: 1%">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: white">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Unfavorable adjustments</span></td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2,189,848</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">&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2,186,363</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 style="vertical-align: bottom; background-color: #CCEEFF">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net adjustments</span></td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.5pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(276,713</span></td>
    <td style="border-bottom: black 2.5pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td>
    <td style="border-bottom: black 2.5pt double">&#160;</td>
    <td style="border-bottom: black 2.5pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">539,191</span></td>
    <td style="border-bottom: black 2.5pt double">&#160;</td></tr>
</table>

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

<!-- Field: Page; Sequence: 15; Value: 11 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="margin-top: 0pt; text-align: center; margin-bottom: 0pt; font-size: 10pt">&#160;<!-- Field: Sequence; Type: Arabic; Name: PageNo -->25<!-- 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>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">For the six months ended June 30, 2023,
we evaluated all contractual data and revised estimated gross profit percentages accordingly. We had 24 contracts with favorable
adjustments and 32 contracts with unfavorable adjustments, all due to changes in estimates.</p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Selling, general and administrative expenses
for the three months ended June 30, 2023 were $2,806,480 compared to $2,697,392 for the three months ended June 30, 2022, an increase
of $109,088 or 4.0 %. The increase was primarily the result of higher salary and benefit expenses, partly offset by lower insurance
and legal expenses.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Selling, general and administrative expenses
for the six months ended June 30, 2023 were $5,675,538 compared to $5,835,049 (which included a $637,206 severance charge recorded
in selling, general and administrative expenses during the six months ended June 30, 2022) for the six months ended June 30, 2022,
a decrease of $159,511 or 2.7%. The decrease was primarily the result of lower salary and benefit expenses as well as lower insurance
expenses. Excluding the aforementioned $637,206 severance charge as well as $263,148 of restricted stock forfeitures recorded during
the six months ended June 30, 2022, the selling, general and administrative expenses for the six months ended June 30, 2023 increased
$740,843 or 15.0% from the selling, general and administrative expenses for the six months ended June 30, 2022. This increase was
primarily the result of increased salary and benefits partly offset by lower insurance expenses.</p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Interest expense for the three months ended
June 30, 2023 was $541,655, compared to $438,437 for the three months ended June 30, 2022, an increase of $103,218 or 23.5%. 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.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Interest expense for the six months ended
June 30, 2023 was $1,152,551, compared to $767,045 for the six months ended June 30, 2022, an increase of $385,506 or 50.3%. 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.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b><i>Income Before Provision for Income Taxes</i></b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Income before provision for income taxes
for the three months ended June 30, 2023 was $1,255,865 compared to $523,861 for the three months ended June 30, 2022, an increase
of $732,004 or 139.7% for the reasons noted above.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Income before provision for income taxes
for the six months ended June 30, 2023 was $2,438,427 compared to $492,205 for the six months ended June 30, 2022, an increase
of $1,946,222 or 395.4% for the reasons noted above.</p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Provision for income taxes for the three
months ended June 30, 2023 was $98,789 compared to $6,225 for the three months ended June 30, 2022, an increase of $92,564. The
increase in the provision for income tax is the result of the Company&#8217;s valuation allowance on its deferred tax asset being
partially released at December 31, 2022, resulting in the change in the deferred tax asset for the three months ending June 30,
2023 being recorded through the Company&#8217;s statement of operations for the three months ending June 30, 2023. For the three
months ending June 30, 2022, the company&#8217;s deferred tax assets were fully offset by the valuation allowance, therefore there
was only minimum state tax income expense recorded to the Company&#8217;s statement of operations during the three months ending
June 30, 2022.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The effective income tax rate for the three
months ended June 30, 2023 is 7.9%. The difference between the effective income tax rate for the three months ended June 30, 2023
and the statutory income tax rate of 21% for the three months ended June 30, 2023 is primarily due to the estimated R&amp;D credit,
the partial release of approximately $121,000 of the Company&#8217;s valuation allowance on its deferred tax asset, state income
taxes and permanent tax differences.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Provision for income taxes for the six
months ended June 30, 2023 was $298,046 compared to $7,500 for the six months ended June 30, 2022, an increase of $290,546. The
increase in the provision for income tax is the result of the Company&#8217;s valuation allowance on its deferred tax asset being
partially released at December 31, 2022, resulting in the change in the deferred asset for the six months ending June 30, 2023
being recorded through the Company&#8217;s statement of operations for the six months ending June 30, 2023. For the six months
ending June 30, 2022, the company&#8217;s deferred tax assets were fully offset by the valuation allowance, therefore there was
only minimum state tax income expense recorded to the Company&#8217;s statement of operations during the six months ending June
30, 2022.</p>

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

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

<!-- Field: Page; Sequence: 16; Value: 11 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="margin-top: 0pt; text-align: center; margin-bottom: 0pt; font-size: 10pt">&#160;<!-- Field: Sequence; Type: Arabic; Name: PageNo -->26<!-- 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">The effective income tax rate for the six
months ended June 30, 2023 is 12.2%. The difference between the effective income tax rate for the six months ended June 30, 2023 and
the statutory income tax rate of 21% for the six months ended June 30, 2023 is primarily due to the estimated R&amp;D credit, the
partial release of approximately $121,000 of the Company&#8217;s valuation allowance on its deferred tax asset, state income taxes
and permanent tax differences.</p>

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

<!-- Field: Page; Sequence: 17; Value: 11 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="margin-top: 0pt; text-align: center; margin-bottom: 0pt; font-size: 10pt">&#160;<!-- Field: Sequence; Type: Arabic; Name: PageNo -->27<!-- 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"><b><i>Net Income and Earnings per Share</i></b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Net income for the three months ended June
30, 2023 of $1,157,076 or $0.09 per basic and diluted share, compared to $517,636 or $0.04 per basic and diluted share for the
three months ended June 30, 2022, an increase of $639,440 or 123.5% for the reasons noted above. Basic and diluted income per share
for the three months ended June 30, 2023 was calculated using 12,558,793 and 12,625,241 weighted average basic and diluted shares
outstanding, respectively. Basic and diluted income per share for the three months ended June 30, 2022 was calculated using 12,439,000
and 12,534,058 weighted average basic and diluted shares outstanding, respectively.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Net income for the six months ended June
30, 2023 of $2,140,381 or $0.17 per basic and diluted share, compared to $484,705 or $0.04 per basic and diluted share for the
six months ended June 30, 2022, an increase of $1,655,676 or 341.6% for the reasons noted above. Basic and diluted income per share
for the six months ended June 30, 2023 was calculated using 12,539,652 and 12,606,100 weighted average basic and diluted shares
outstanding, respectively. Basic and diluted income per share for the six months ended June 30, 2022 was calculated using 12,401,281
and 12,496,339 weighted average basic and diluted shares outstanding, respectively.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white">Excluding the
$771,834 severance charge recorded in the first quarter of 2022 as referred to above under <i>Cost of Sales</i> and <i>Selling,
General and Administrative Expenses</i>, net income for the six months ended June 30, 2023 increased $883,842 or 70.3% from net
income for the six months ended June 30, 2022.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white">Excluding the
aforementioned severance charge, basic and diluted earnings per share for the six months ended June 30, 2023 increased $0.07 or
58.8% from basic and diluted earnings per share for the six months ended June 30, 2022.</p>

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

<!-- Field: Page; Sequence: 18; Value: 11 -->
    <div style="border-bottom: Black 1pt solid; margin-top: 6pt; margin-bottom: 6pt"><p style="margin-top: 0pt; text-align: center; margin-bottom: 0pt; font-size: 10pt">&#160;<!-- Field: Sequence; Type: Arabic; Name: PageNo -->28<!-- 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"><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>Liquidity
and Capital Resources</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"><b><i>General</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">At
June 30, 2023, we had working capital of $14,484,217 compared to $12,896,602 at December 31, 2022, an increase of $1,587,615 or
12.3%. <span style="background-color: white">This increase was primarily the result of an increase in contract assets and accounts
receivable and a decrease in accrued expenses, partly offset by an increase in accounts payable and contract 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>

<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>Cash
Flow</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">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: 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">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: 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">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: 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
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: 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, 2023, we had cash of $3,080,672 compared to $3,847,225 at December 31, 2022, a decrease of $766,553 or 19.9%. This decrease
was primarily the result of repayment of long-term debt and debt issuance costs, partly offset by cash flow from operations.</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>Bank
Credit Facilities</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">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: 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
March 23, 2023, the Company entered into a Twelfth Amendment to the Credit Agreement (the &#8220;Twelfth Amendment&#8221;). Under
the Twelfth Amendment, the parties amended the Credit Agreement by : (a) extending the maturity date of the Company&#8217;s existing
revolving line of credit and its existing term loan to November 30, 2024 (under the terms of the Credit Agreement, the outstanding
principal balance of the term loan was repaid by June 30, 2023); (b) providing for reduction of the aggregate maximum principal
amount of all revolving line of credit loans to $20,520,000 from October 1, 2023 through December 31, 2023, $19,800,000 from January
1, 2024 through June 30, 2024, $19,080,000 from April 1, 2024 through June 30, 2024, $18,360,000 from July 1, 2024 through September
30, 2024, and $17,640,000 from October 1, 2024 and 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; and (c) payment of a $250,000 capitalized fee incurred
in connection with the Eighth Amendment to the Credit Agreement, which the Company entered into on October 28, 2021 in two installments, the first installment paid on June 1, 2023 in the amount of $116,667 and the second installment
paid July 1, 2023 in the amount of $133,333, together with all unpaid interest accrued at the term loan interest rate on the capitalized
fee through each such date (the installments and interest accrued were paid on such dates).</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="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 100%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
</table>

<!-- Field: Page; Sequence: 1; Options: NewSection; Value: 29 -->
    <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 -->29<!-- Field: /Sequence -->&#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"><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">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 Eight Amendment and Ninth Amendment to the Credit Agreement,
which the Company 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 both the Revolving Loan and Term Loan bear interest at
the Prime Rate + 3.50%. The Prime Rate was 8.25% as of June 30, 2023 and as such, the Company&#8217;s interest rate on both the
Revolving Loan and Term Loan was 11.75% as of 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; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of June 30, 2023 and December 31, 2022, the Company had $21,000,000 outstanding under the Revolving Loan.</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">As
of June 30, 2023, the Term Loan, as amended by the Twelfth Amendment, had an aggregate principal amount of $133,333, payable in
monthly installments, as defined in the Twelfth Amendment, as compared to an aggregate principal amount outstanding as of December
31, 2022 of $1,583,333.</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">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: 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"><b><i>Liquidity</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
believe that our existing resources as of June 30, 2023 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: 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><i>Contractual
Obligations</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">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,
2022.</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><i>Inflation</i></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">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: 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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="scmnpxa009"></span>Item
3 &#8211; Quantitative and Qualitative Disclosures About Market Risk</b></span></p>

<table cellspacing="0" cellpadding="0" style="font: 6pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: top; background-color: black">
    <td style="width: 100%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: justify">&#160;</td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><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: 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="scmnpxa010"></span>Item
4 &#8211; Controls and Procedures </b></span></p>

<table cellspacing="0" cellpadding="0" style="font: 6pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: top; background-color: black">
    <td style="width: 100%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: justify">&#160;</td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><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: 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="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 24px; 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: 24px; text-align: justify"><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>

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

<!-- Field: Page; Sequence: 2; Value: 29 -->
    <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 -->30<!-- Field: /Sequence -->&#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="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: 24px; 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: 24px; text-align: justify"><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>
<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: 24px; 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: 24px; text-align: justify"><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>
<tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
</table>
<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">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: 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">Management
conducted an evaluation of the effectiveness of internal control over financial reporting for the twelve months ended December 31,
2022 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
deficiencies that constituted material weaknesses in our internal control over financial reporting as of December 31, 2022. For more
information on these deficiencies, see Item 9A. Controls and Procedures, included in our Annual Report on Form 10-K. In addition,
during the quarter ended June 30, 2023, management identified a deficiency that constituted another material weakness in our
internal control over financial reporting as of June 30, 2023 (see Section below entitled &#8220;Changes in Internal Control over
Financial Reporting&#8221;. Based on management&#8217;s evaluation of internal control over financial reporting for the twelve months
ended December 31, 2022, and as of June 30, 2023, our disclosure controls and procedures were not effective as of June 30, 2023 due to the
materials weaknesses described above.</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="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 100%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
</table>

<!-- Field: Page; Sequence: 3; Value: 29 -->
    <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 -->31<!-- Field: /Sequence -->&#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"><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">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: 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">During
2023, the Company intends to implement new controls designed to remediate the aforementioned 2022 material weaknesses.</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>Changes
in Internal Control Over Financial Reporting</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">During
the quarter ended June 30, 2023, we identified a material weakness in our internal control over financial reporting with respect
to the process around accounting for the quarterly accrual of goods in transit to the Company including the effect on revenue and
cost of sales. During the quarter ended June 20, 2023, we began to design additional internal controls to address this material
weakness but did not complete remediation of this material weakness. During the quarter ended June 30, 2023, we implemented
additional internal controls related to the processing and accrual of vendor invoices.</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>


<!-- Field: Page; Sequence: 4; Value: 29 -->
    <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 -->32<!-- Field: /Sequence -->&#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"><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"><b><span id="scmnpxa011"></span>Part
II - Other 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="scmnpxa012"></span>Item
1 &#8211; Legal Proceedings</b></span></p>

<table cellspacing="0" cellpadding="0" style="font: 6pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: top; background-color: black">
    <td style="width: 100%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: justify">&#160;</td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Reference
is made to Note 12 entitled &#8220;Commitments and Contingencies&#8221; to our unaudited condensed consolidated financial statements
included in this Quarterly Report for a discussion of current legal proceedings, which discussion is incorporated herein by reference.</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="scmnpxa013"></span>Item
1A &#8211; Risk Factors</b></span></p>

<table cellspacing="0" cellpadding="0" style="font: 6pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: top; background-color: black">
    <td style="width: 100%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: justify">&#160;</td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><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, 2022, 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: 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="scmnpxa014"></span>Item
2 &#8211; Unregistered Sales of Equity Securities and Use of Proceeds</b></span></p>

<table cellspacing="0" cellpadding="0" style="font: 6pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: top; background-color: black">
    <td style="width: 100%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: justify">&#160;</td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="scmnpxa015"></span>Item
3 &#8211; Defaults Upon Senior Securities</b></span></p>

<table cellspacing="0" cellpadding="0" style="font: 6pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: top; background-color: black">
    <td style="width: 100%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: justify">&#160;</td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="scmnpxa016"></span>Item
4 &#8211; Mine Safety Disclosures</b></span></p>

<table cellspacing="0" cellpadding="0" style="font: 6pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: top; background-color: black">
    <td style="width: 100%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: justify">&#160;</td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><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: 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="scmnpxa017"></span>Item
5 &#8211; Other Information</b></span></p>

<table cellspacing="0" cellpadding="0" style="font: 6pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: top; background-color: black">
    <td style="width: 100%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: justify">&#160;</td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

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


<!-- Field: Page; Sequence: 5; Value: 29 -->
    <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 -->33<!-- Field: /Sequence -->&#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"><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: 10pt Times New Roman, Times, Serif"><b><span id="scmnpxa018"></span>Item
6 &#8211; Exhibits</b></span></p>

<table cellspacing="0" cellpadding="0" style="font: 6pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: top; background-color: black">
    <td style="width: 100%; padding-right: 5.4pt; padding-left: 5.4pt; text-align: justify">&#160;</td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#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: 15%; padding-left: 0.5in; 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; width: 85%; 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; padding-left: 0.5in; 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; 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; padding-left: 0.5in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="http://www.sec.gov/Archives/edgar/data/889348/000138713123008030/ex99-1.htm">10.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="http://www.sec.gov/Archives/edgar/data/889348/000138713123008030/ex99-1.htm">CPI Aerostructures, Inc. 2016 Long Term Incentive Plan, as amended (incorporated by reference from Exhibit 99.1 to the Company&#8217;s Registration Statement on Form 8-K filed on June 28, 2023).</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; padding-left: 0.5in; 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; padding-left: 0.5in; 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; padding-left: 0.5in; 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; padding-left: 0.5in; 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; padding-left: 0.5in; 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; padding-left: 0.5in; 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; padding-left: 0.5in; 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; padding-left: 0.5in; 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; padding-left: 0.5in; 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; padding-left: 0.5in; 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="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 40.3pt; text-align: justify">&#160;</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 40.3pt; 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: 0pt 0 0pt 40.3pt; 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 0pt 40.3pt; 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 months ended June 30, 2023 and 2022, (ii) Condensed Consolidated Balance Sheet
as of June 30, 2023 and December 31, 2022, (iii) Condensed Consolidated Statement of Cash Flows for the three months ended June
30, 2023 and 2022, (iv) Condensed Consolidated Statement of Changes in Equity for the three months ended June 30, 2023 and 2022
and (v) Notes to Condensed Consolidated Financial Statements.</span></p>

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


<!-- Field: Page; Sequence: 6; Value: 29 -->
    <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 -->34<!-- Field: /Sequence -->&#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: 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: 10pt Times New Roman, Times, Serif"><b><span style="text-decoration: underline"><span id="scmnpxa019"></span>SIGNATURES</span></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: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 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="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: 3%"><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: 47%; 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 21, 2023</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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
Executive Officer and President</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">(Principal
Executive Officer)</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 21, 2023</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: 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
Financial Officer</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">(Principal
Financial and Accounting Officer)</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"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
</table>

<!-- Field: Page; Sequence: 7; Value: 29 -->
    <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 -->35<!-- Field: /Sequence -->&#160;</p></div>

    <!-- Field: /Page -->
</div>

</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">


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; color: blue"><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: 0pt 0; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B></B></FONT></P>



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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left"><A HREF="cpi-10q_063023.htm">CPI Aerostructures, Inc. 10-Q</A></P>

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 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: 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 27px; 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="width: 45px; text-align: justify; font: 10pt Times New Roman, Times, Serif"><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="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
</TABLE>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 27px; 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="width: 45px; 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="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
</TABLE>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 27px; 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="width: 45px; 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="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
</TABLE>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 27px; 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="width: 45px; 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>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
</TABLE>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 72px; 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="width: 41px; text-align: justify; font: 10pt Times New Roman, Times, Serif"><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 STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
</TABLE>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 72px; 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="width: 41px; 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 STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
</TABLE>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 72px; 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="width: 41px; 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 STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
</TABLE>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 72px; 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="width: 41px; 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>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
</TABLE>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 27px; 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="width: 45px; text-align: justify; font: 10pt Times New Roman, Times, Serif"><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>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
</TABLE>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 72px; 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="width: 41px; text-align: justify; font: 10pt Times New Roman, Times, Serif"><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="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
</TABLE>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 72px; 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="width: 41px; 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>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
</TABLE>
<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">
    <TD STYLE="vertical-align: bottom; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Dated:
August 21, 2023</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="vertical-align: bottom; font: 10pt Times New Roman, Times, Serif"><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="vertical-align: bottom; width: 50%; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="vertical-align: top; width: 3%; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="vertical-align: bottom; width: 47%; 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: 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: 0pt 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: 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Principal
Executive Officer)</FONT></P></TD></TR>
</TABLE>

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

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

<!-- Field: Page; Sequence: 8; Value: 29 -->
    <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 -->36<!-- 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">


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; color: blue"><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: 0pt 0; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"></FONT></P>



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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left"><A HREF="cpi-10q_063023.htm">CPI Aerostructures, Inc. 10-Q</A></P>

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

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I,
Andrew L. Davis, certify that:</FONT></P>

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 28px; 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="width: 44px; text-align: justify; font: 10pt Times New Roman, Times, Serif"><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="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
</TABLE>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 28px; 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="width: 44px; 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="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
</TABLE>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 28px; 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="width: 44px; 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="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
</TABLE>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 28px; 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="width: 44px; 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>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
</TABLE>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 71px; 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="width: 39px; text-align: justify; font: 10pt Times New Roman, Times, Serif"><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 STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
</TABLE>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 71px; 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="width: 39px; 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 STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
</TABLE>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 71px; 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="width: 39px; 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 STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
</TABLE>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 71px; 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="width: 39px; 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>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
</TABLE>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 28px; 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="width: 44px; text-align: justify; font: 10pt Times New Roman, Times, Serif"><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>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
</TABLE>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 71px; 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="width: 39px; text-align: justify; font: 10pt Times New Roman, Times, Serif"><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="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
</TABLE>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 71px; 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="width: 39px; 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>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
</TABLE>
<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">
    <TD STYLE="vertical-align: bottom; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Dated:
August 21, 2023</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="vertical-align: bottom; font: 10pt Times New Roman, Times, Serif"><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="vertical-align: bottom; width: 50%; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="vertical-align: top; width: 3%; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="vertical-align: bottom; width: 47%; 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: 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/ 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-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">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-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: 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
Financial Officer and Secretary</FONT></P>
        <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Principal
financial and accounting officer)</FONT></P></TD></TR>
</TABLE>

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

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

<!-- Field: Page; Sequence: 9; Value: 29 -->
    <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 -->37<!-- Field: /Sequence -->&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">


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; color: blue"><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: 0pt 0; text-align: right"></P>



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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: left"><A HREF="cpi-10q_063023.htm">CPI Aerostructures, Inc. 10-Q</A></P>

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

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 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: 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
connection with the Quarterly Report of CPI Aerostructures, Inc. (the &ldquo;Company&rdquo;) on Form 10-Q for the quarter ended June
30, 2023 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: 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 48px; text-align: justify; font: 10pt Times New Roman, Times, Serif"><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">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>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
</TABLE>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 48px; 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">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>
<TR STYLE="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
</TABLE>
<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<TR STYLE="vertical-align: top; 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">Dated:
August 21, 2023</FONT></TD>
    <TD COLSPAN="2" STYLE="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="vertical-align: top; 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 COLSPAN="2" STYLE="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="vertical-align: top; font: 10pt Times New Roman, Times, Serif">
    <TD STYLE="width: 50%; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="width: 3%; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="width: 47%; 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="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="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: top; 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="border-top: black 1pt solid; 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: top; 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">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-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">(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-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">&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-family: Times New Roman, Times, Serif; font-size: 10pt">Dated:
August 21, 2023</FONT></TD>
    <TD COLSPAN="2" STYLE="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="vertical-align: top; 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 COLSPAN="2" STYLE="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="vertical-align: top; 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">&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-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="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">/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-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="border-top: black 1pt solid; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">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-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">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-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">(Principal financial and accounting officer)</FONT></TD></TR>
</TABLE>


<P STYLE="margin: 0; font: 10pt Times New Roman, Times, Serif">&nbsp;</P>
<!-- Field: Page; Sequence: 10; Value: 29 -->
    <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 -->38<!-- Field: /Sequence -->&nbsp;</P></DIV>
    <!-- Field: /Page -->

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>5
<FILENAME>cvu-20230630.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" ?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.19a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
    <!-- Field: Doc-Info; Name: Misc; Value: +6spw7xRiXhun8uCbn1MSauO6bP9w5dzKelBtm97HUm6DyAiXlq5eyyrWjg2gZkO -->
<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/2023" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:srt="http://fasb.org/srt/2023" xmlns:srt-types="http://fasb.org/srt-types/2023" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:cvu="http://cpiaero.com/20230630" elementFormDefault="qualified" targetNamespace="http://cpiaero.com/20230630">
    <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 (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/CondensedConsolidatedBalanceSheetsParenthetical" id="CondensedConsolidatedBalanceSheetsParenthetical">
          <link:definition>00000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited) (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/CondensedConsolidatedStatementsOfShareholdersEquityDeficit" id="CondensedConsolidatedStatementsOfShareholdersEquityDeficit">
          <link:definition>00000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (DEFICIT) (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/RevenueRecognition" id="RevenueRecognition">
          <link:definition>00000008 - Disclosure - REVENUE RECOGNITION</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/FairValue" id="FairValue">
          <link:definition>00000012 - Disclosure - FAIR VALUE</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/IncomePerCommonShare" id="IncomePerCommonShare">
          <link:definition>00000013 - Disclosure - INCOME PER COMMON 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/Debt" id="Debt">
          <link:definition>00000014 - Disclosure - 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/MajorCustomers" id="MajorCustomers">
          <link:definition>00000015 - Disclosure - MAJOR CUSTOMERS</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>00000016 - 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>00000017 - 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>00000018 - 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>00000019 - 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/RevenueRecognitionTables" id="RevenueRecognitionTables">
          <link:definition>00000020 - Disclosure - REVENUE RECOGNITION (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>00000021 - 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>00000022 - 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>00000023 - 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/FairValueTables" id="FairValueTables">
          <link:definition>00000024 - Disclosure - FAIR VALUE (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/IncomePerCommonShareTables" id="IncomePerCommonShareTables">
          <link:definition>00000025 - Disclosure - INCOME PER COMMON SHARE (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/DebtTables" id="DebtTables">
          <link:definition>00000026 - Disclosure - 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>00000027 - 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>00000028 - 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>00000029 - 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/RevenueRecognitionDetailsNarrative" id="RevenueRecognitionDetailsNarrative">
          <link:definition>00000030 - Disclosure - REVENUE RECOGNITION (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/ScheduleOfContractAssetsAndLiabilitiesDetails" id="ScheduleOfContractAssetsAndLiabilitiesDetails">
          <link:definition>00000031 - Disclosure - Schedule of contract assets and 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>00000032 - 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>00000033 - 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>00000034 - 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/FollowingTableSummarizesActivityRelatedToOutstandingRsusAndRestrictedStockAwardsForSixMonthsEndedJune302023Details" id="FollowingTableSummarizesActivityRelatedToOutstandingRsusAndRestrictedStockAwardsForSixMonthsEndedJune302023Details">
          <link:definition>00000035 - Disclosure - The following table summarizes activity related to outstanding RSUs and Restricted Stock Awards for the six months ended June 30, 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/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/AtJune302023AndDecember312022FairValuesOfCashAccountsReceivableAndAccountsPayableApproximatedTheirCarryingValuesBecauseOfShort-termNatureOfTheseInstruments.Details" id="AtJune302023AndDecember312022FairValuesOfCashAccountsReceivableAndAccountsPayableApproximatedTheirCarryingValuesBecauseOfShort-termNatureOfTheseInstruments.Details">
          <link:definition>00000037 - Disclosure - At June 30, 2023 and December 31, 2022, the fair values of cash, accounts receivable and accounts payable approximated their carrying values because of the short-term nature of these instruments. (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://cpiaero.com/role/ForThreeAndSixMonthsEndedJune302023And2022RespectivelyOurIncomePerCommonShareWasCalculatedAsFollowsDetails" id="ForThreeAndSixMonthsEndedJune302023And2022RespectivelyOurIncomePerCommonShareWasCalculatedAsFollowsDetails">
          <link:definition>00000038 - Disclosure - For the three and six months ended June 30, 2023 and 2022, respectively, our income per common share was calculated 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/IncomePerCommonShareDetailsNarrative" id="IncomePerCommonShareDetailsNarrative">
          <link:definition>00000039 - Disclosure - INCOME PER COMMON 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/MaturitiesOfLong-termDebtExcludingUnamortizedDebtIssuanceCostsAreAsFollowsDetails" id="MaturitiesOfLong-termDebtExcludingUnamortizedDebtIssuanceCostsAreAsFollowsDetails">
          <link:definition>00000040 - Disclosure - The maturities of long-term debt (excluding unamortized debt issuance costs) 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/DebtDetailsNarrative" id="DebtDetailsNarrative">
          <link:definition>00000041 - Disclosure - 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/MajorCustomersDetailsNarrative" id="MajorCustomersDetailsNarrative">
          <link:definition>00000042 - Disclosure - MAJOR CUSTOMERS (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-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails" id="FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails">
          <link:definition>00000043 - Disclosure - Future minimum lease payments under non-cancellable operating leases as of June 30, 2023 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/FollowingTableSetsForthRouAssetsAndOperatingLeaseLiabilitiesAsOfDetails" id="FollowingTableSetsForthRouAssetsAndOperatingLeaseLiabilitiesAsOfDetails">
          <link:definition>00000044 - Disclosure - The following table sets forth the ROU 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>00000045 - 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>00000046 - 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>00000047 - 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-20230630_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-20230630_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-20230630_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-20230630_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/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd" />
    <import namespace="http://fasb.org/us-gaap/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd" />
    <import namespace="http://fasb.org/us-types/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd" />
    <import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd" />
    <import namespace="http://xbrl.sec.gov/country/2023" schemaLocation="https://xbrl.sec.gov/country/2023/country-2023.xsd" />
    <import namespace="http://fasb.org/srt/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd" />
    <import namespace="http://fasb.org/srt-types/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd" />
    <element id="cvu_UnrestrictedSharesMember" name="UnrestrictedSharesMember" abstract="true" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_RestrictedSharesMember" name="RestrictedSharesMember" abstract="true" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_AerostructureMember" name="AerostructureMember" abstract="true" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_AerosystemsMember" name="AerosystemsMember" abstract="true" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_KittingAndSupplyChainManagementMember" name="KittingAndSupplyChainManagementMember" abstract="true" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_ForfeitedRestrictedStockMember" name="ForfeitedRestrictedStockMember" 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_RevolvingLoanAndTermLoanMember" name="RevolvingLoanAndTermLoanMember" 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_FirstInstallmentMember" name="FirstInstallmentMember" abstract="true" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_SecondInstallmentMember" name="SecondInstallmentMember" abstract="true" 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_ContractAssetsMember" name="ContractAssetsMember" 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_CustomerFiveMember" name="CustomerFiveMember" abstract="true" 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_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_LesseeOperatingLeasesTableTextBlock" name="LesseeOperatingLeasesTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_NetContractAssets" name="NetContractAssets" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="cvu_AmendmentFee" name="AmendmentFee" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" 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" />
    <element id="cvu_DirectorsAndOfficersInsuranceRetentionAmount" name="DirectorsAndOfficersInsuranceRetentionAmount" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>6
<FILENAME>cvu-20230630_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.19a -->
    <!-- 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-20230630.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedBalanceSheets" xlink:href="cvu-20230630.xsd#CondensedConsolidatedBalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedBalanceSheetsParenthetical" xlink:href="cvu-20230630.xsd#CondensedConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations" xlink:href="cvu-20230630.xsd#CondensedConsolidatedStatementsOfOperations" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquityDeficit" xlink:href="cvu-20230630.xsd#CondensedConsolidatedStatementsOfShareholdersEquityDeficit" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows" xlink:href="cvu-20230630.xsd#CondensedConsolidatedStatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/InterimFinancialStatements" xlink:href="cvu-20230630.xsd#InterimFinancialStatements" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/RevenueRecognition" xlink:href="cvu-20230630.xsd#RevenueRecognition" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ContractAssetsAndLiabilities" xlink:href="cvu-20230630.xsd#ContractAssetsAndLiabilities" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Inventory" xlink:href="cvu-20230630.xsd#Inventory" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Stock-basedCompensation" xlink:href="cvu-20230630.xsd#Stock-basedCompensation" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FairValue" xlink:href="cvu-20230630.xsd#FairValue" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/IncomePerCommonShare" xlink:href="cvu-20230630.xsd#IncomePerCommonShare" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Debt" xlink:href="cvu-20230630.xsd#Debt" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/MajorCustomers" xlink:href="cvu-20230630.xsd#MajorCustomers" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Leases" xlink:href="cvu-20230630.xsd#Leases" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/IncomeTaxes" xlink:href="cvu-20230630.xsd#IncomeTaxes" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CommitmentsAndContingencies" xlink:href="cvu-20230630.xsd#CommitmentsAndContingencies" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/InterimFinancialStatementsPolicies" xlink:href="cvu-20230630.xsd#InterimFinancialStatementsPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/RevenueRecognitionTables" xlink:href="cvu-20230630.xsd#RevenueRecognitionTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ContractAssetsAndLiabilitiesTables" xlink:href="cvu-20230630.xsd#ContractAssetsAndLiabilitiesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/InventoryTables" xlink:href="cvu-20230630.xsd#InventoryTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Stock-basedCompensationTables" xlink:href="cvu-20230630.xsd#Stock-basedCompensationTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FairValueTables" xlink:href="cvu-20230630.xsd#FairValueTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/IncomePerCommonShareTables" xlink:href="cvu-20230630.xsd#IncomePerCommonShareTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/DebtTables" xlink:href="cvu-20230630.xsd#DebtTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/LeasesTables" xlink:href="cvu-20230630.xsd#LeasesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/InterimFinancialStatementsDetailsNarrative" xlink:href="cvu-20230630.xsd#InterimFinancialStatementsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails" xlink:href="cvu-20230630.xsd#FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/RevenueRecognitionDetailsNarrative" xlink:href="cvu-20230630.xsd#RevenueRecognitionDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails" xlink:href="cvu-20230630.xsd#ScheduleOfContractAssetsAndLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ContractAssetsAndLiabilitiesDetailsNarrative" xlink:href="cvu-20230630.xsd#ContractAssetsAndLiabilitiesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails" xlink:href="cvu-20230630.xsd#ComponentsOfInventoryConsistedOfFollowingDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails" xlink:href="cvu-20230630.xsd#Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusAndRestrictedStockAwardsForSixMonthsEndedJune302023Details" xlink:href="cvu-20230630.xsd#FollowingTableSummarizesActivityRelatedToOutstandingRsusAndRestrictedStockAwardsForSixMonthsEndedJune302023Details" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative" xlink:href="cvu-20230630.xsd#Stock-basedCompensationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/AtJune302023AndDecember312022FairValuesOfCashAccountsReceivableAndAccountsPayableApproximatedTheirCarryingValuesBecauseOfShort-termNatureOfTheseInstruments.Details" xlink:href="cvu-20230630.xsd#AtJune302023AndDecember312022FairValuesOfCashAccountsReceivableAndAccountsPayableApproximatedTheirCarryingValuesBecauseOfShort-termNatureOfTheseInstruments.Details" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ForThreeAndSixMonthsEndedJune302023And2022RespectivelyOurIncomePerCommonShareWasCalculatedAsFollowsDetails" xlink:href="cvu-20230630.xsd#ForThreeAndSixMonthsEndedJune302023And2022RespectivelyOurIncomePerCommonShareWasCalculatedAsFollowsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/IncomePerCommonShareDetailsNarrative" xlink:href="cvu-20230630.xsd#IncomePerCommonShareDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/MaturitiesOfLong-termDebtExcludingUnamortizedDebtIssuanceCostsAreAsFollowsDetails" xlink:href="cvu-20230630.xsd#MaturitiesOfLong-termDebtExcludingUnamortizedDebtIssuanceCostsAreAsFollowsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/DebtDetailsNarrative" xlink:href="cvu-20230630.xsd#DebtDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/MajorCustomersDetailsNarrative" xlink:href="cvu-20230630.xsd#MajorCustomersDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails" xlink:href="cvu-20230630.xsd#FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FollowingTableSetsForthRouAssetsAndOperatingLeaseLiabilitiesAsOfDetails" xlink:href="cvu-20230630.xsd#FollowingTableSetsForthRouAssetsAndOperatingLeaseLiabilitiesAsOfDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/LeasesDetailsNarrative" xlink:href="cvu-20230630.xsd#LeasesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/IncomeTaxesDetailsNarrative" xlink:href="cvu-20230630.xsd#IncomeTaxesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:href="cvu-20230630.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 (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_InsuranceSettlementsReceivableCurrent" xlink:label="loc_us-gaapInsuranceSettlementsReceivableCurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapInsuranceSettlementsReceivableCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="loc_us-gaapContractWithCustomerAssetNetCurrent" />
      <link:calculationArc order="4" 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/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesReceivable" xlink:label="loc_us-gaapIncomeTaxesReceivable" />
      <link:calculationArc order="6" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrent" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets" />
      <link:calculationArc order="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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent" />
      <link:calculationArc order="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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_LitigationReserveCurrent" xlink:label="loc_us-gaapLitigationReserveCurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapLitigationReserveCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityCurrent" />
      <link:calculationArc order="4" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyAccrualCarryingValueCurrent" xlink:label="loc_us-gaapLossContingencyAccrualCarryingValueCurrent" />
      <link:calculationArc order="5" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaapLinesOfCreditCurrent" />
      <link:calculationArc order="6" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLongTermDebtCurrent" xlink:label="loc_us-gaapOtherLongTermDebtCurrent" />
      <link:calculationArc order="7" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent" />
      <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent" xlink:label="loc_us-gaapTaxesPayableCurrent" />
      <link:calculationArc order="9" 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 (Unaudited) (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/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:calculationArc order="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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/CondensedConsolidatedStatementsOfShareholdersEquityDeficit" xlink:title="00000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS&apos; EQUITY (DEFICIT) (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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForLoanAndLeaseLosses" xlink:label="loc_us-gaapProvisionForLoanAndLeaseLosses" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapProvisionForLoanAndLeaseLosses" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsReceivable" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsReceivable" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInsuranceSettlementsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInInsuranceSettlementsReceivable" />
      <link:calculationArc order="8" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerAsset" />
      <link:calculationArc order="9" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
      <link:calculationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInInventories" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="loc_us-gaapIncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" />
      <link:calculationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInIncomeTaxesReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInIncomeTaxesReceivable" />
      <link:calculationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInIncomeTaxesReceivable" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInLeasingReceivables" xlink:label="loc_us-gaapIncreaseDecreaseInLeasingReceivables" />
      <link:calculationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInLeasingReceivables" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
      <link:calculationArc order="14" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" />
      <link:calculationArc order="15" 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-20230630.xsd#cvu_IncreaseDecreaseInLitigationSettlementObligation" xlink:label="loc_cvuIncreaseDecreaseInLitigationSettlementObligation" />
      <link:calculationArc order="16" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="loc_us-gaapIncreaseDecreaseInOperatingLeaseLiability" />
      <link:calculationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInOperatingLeaseLiability" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" />
      <link:calculationArc order="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="cvu-20230630.xsd#cvu_IncreaseDecreaseInLossReserve" xlink:label="loc_cvuIncreaseDecreaseInLossReserve" />
      <link:calculationArc order="19" 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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:calculationArc order="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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="loc_us-gaapRepaymentsOfLongTermDebt" />
      <link:calculationArc order="1" 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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="loc_us-gaapPaymentsOfDebtIssuanceCosts" />
      <link:calculationArc order="2" 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/2023/elts/us-gaap-2023.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/RevenueRecognition" xlink:title="00000008 - Disclosure - REVENUE RECOGNITION" />
    <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/FairValue" xlink:title="00000012 - Disclosure - FAIR VALUE" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/IncomePerCommonShare" xlink:title="00000013 - Disclosure - INCOME PER COMMON SHARE" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Debt" xlink:title="00000014 - Disclosure - DEBT" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/MajorCustomers" xlink:title="00000015 - Disclosure - MAJOR CUSTOMERS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Leases" xlink:title="00000016 - Disclosure - LEASES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/IncomeTaxes" xlink:title="00000017 - Disclosure - INCOME TAXES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CommitmentsAndContingencies" xlink:title="00000018 - Disclosure - COMMITMENTS AND CONTINGENCIES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/InterimFinancialStatementsPolicies" xlink:title="00000019 - Disclosure - INTERIM FINANCIAL STATEMENTS (Policies)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/RevenueRecognitionTables" xlink:title="00000020 - Disclosure - REVENUE RECOGNITION (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ContractAssetsAndLiabilitiesTables" xlink:title="00000021 - Disclosure - CONTRACT ASSETS AND LIABILITIES (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/InventoryTables" xlink:title="00000022 - Disclosure - INVENTORY (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Stock-basedCompensationTables" xlink:title="00000023 - Disclosure - STOCK-BASED COMPENSATION (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/FairValueTables" xlink:title="00000024 - Disclosure - FAIR VALUE (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/IncomePerCommonShareTables" xlink:title="00000025 - Disclosure - INCOME PER COMMON SHARE (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/DebtTables" xlink:title="00000026 - Disclosure - DEBT (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/LeasesTables" xlink:title="00000027 - Disclosure - LEASES (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/InterimFinancialStatementsDetailsNarrative" xlink:title="00000028 - Disclosure - INTERIM FINANCIAL STATEMENTS (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails" xlink:title="00000029 - 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/RevenueRecognitionDetailsNarrative" xlink:title="00000030 - Disclosure - REVENUE RECOGNITION (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails" xlink:title="00000031 - Disclosure - Schedule of contract assets and liabilities (Details)">
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_NetContractAssets" xlink:label="loc_cvuNetContractAssets" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNet" xlink:label="loc_us-gaapContractWithCustomerAssetNet" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_cvuNetContractAssets" xlink:to="loc_us-gaapContractWithCustomerAssetNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="loc_us-gaapContractWithCustomerLiability" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_cvuNetContractAssets" xlink:to="loc_us-gaapContractWithCustomerLiability" xlink:type="arc" weight="-1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ContractAssetsAndLiabilitiesDetailsNarrative" xlink:title="00000032 - Disclosure - CONTRACT ASSETS AND LIABILITIES (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails" xlink:title="00000033 - Disclosure - The components of inventory consisted of the following: (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryGross" xlink:label="loc_us-gaapInventoryGross" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterials" xlink:label="loc_us-gaapInventoryRawMaterials" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryGross" xlink:to="loc_us-gaapInventoryRawMaterials" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcess" xlink:label="loc_us-gaapInventoryWorkInProcess" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryGross" xlink:to="loc_us-gaapInventoryWorkInProcess" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoods" xlink:label="loc_us-gaapInventoryFinishedGoods" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryGross" xlink:to="loc_us-gaapInventoryFinishedGoods" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryNet" xlink:to="loc_us-gaapInventoryGross" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryValuationReserves" xlink:label="loc_us-gaapInventoryValuationReserves" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryNet" xlink:to="loc_us-gaapInventoryValuationReserves" xlink:type="arc" weight="-1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails" xlink:title="00000034 - 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/FollowingTableSummarizesActivityRelatedToOutstandingRsusAndRestrictedStockAwardsForSixMonthsEndedJune302023Details" xlink:title="00000035 - Disclosure - The following table summarizes activity related to outstanding RSUs and Restricted Stock Awards for the six months ended June 30, 2023: (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/AtJune302023AndDecember312022FairValuesOfCashAccountsReceivableAndAccountsPayableApproximatedTheirCarryingValuesBecauseOfShort-termNatureOfTheseInstruments.Details" xlink:title="00000037 - Disclosure - At June 30, 2023 and December 31, 2022, the fair values of cash, accounts receivable and accounts payable approximated their carrying values because of the short-term nature of these instruments. (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ForThreeAndSixMonthsEndedJune302023And2022RespectivelyOurIncomePerCommonShareWasCalculatedAsFollowsDetails" xlink:title="00000038 - Disclosure - For the three and six months ended June 30, 2023 and 2022, respectively, our income per common share was calculated as follows: (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/IncomePerCommonShareDetailsNarrative" xlink:title="00000039 - Disclosure - INCOME PER COMMON SHARE (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/MaturitiesOfLong-termDebtExcludingUnamortizedDebtIssuanceCostsAreAsFollowsDetails" xlink:title="00000040 - Disclosure - The maturities of long-term debt (excluding unamortized debt issuance costs) are as follows: (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="loc_us-gaapLongTermDebt" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:label="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLongTermDebt" xlink:to="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLongTermDebt" xlink:to="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLongTermDebt" xlink:to="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/DebtDetailsNarrative" xlink:title="00000041 - Disclosure - DEBT (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/MajorCustomersDetailsNarrative" xlink:title="00000042 - Disclosure - MAJOR CUSTOMERS (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails" xlink:title="00000043 - Disclosure - Future minimum lease payments under non-cancellable operating leases as of June 30, 2023 were as follows: (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/FollowingTableSetsForthRouAssetsAndOperatingLeaseLiabilitiesAsOfDetails" xlink:title="00000044 - Disclosure - The following table sets forth the ROU assets and operating lease liabilities as of: (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaapOperatingLeaseLiability" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent" />
      <link:calculationArc order="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/2023/elts/us-gaap-2023.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="00000045 - Disclosure - LEASES (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/IncomeTaxesDetailsNarrative" xlink:title="00000046 - Disclosure - INCOME TAXES (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:title="00000047 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details Narrative)" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>7
<FILENAME>cvu-20230630_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.19a -->
    <!-- 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-20230630.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedBalanceSheets" xlink:href="cvu-20230630.xsd#CondensedConsolidatedBalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedBalanceSheetsParenthetical" xlink:href="cvu-20230630.xsd#CondensedConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations" xlink:href="cvu-20230630.xsd#CondensedConsolidatedStatementsOfOperations" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquityDeficit" xlink:href="cvu-20230630.xsd#CondensedConsolidatedStatementsOfShareholdersEquityDeficit" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows" xlink:href="cvu-20230630.xsd#CondensedConsolidatedStatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/InterimFinancialStatements" xlink:href="cvu-20230630.xsd#InterimFinancialStatements" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/RevenueRecognition" xlink:href="cvu-20230630.xsd#RevenueRecognition" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ContractAssetsAndLiabilities" xlink:href="cvu-20230630.xsd#ContractAssetsAndLiabilities" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Inventory" xlink:href="cvu-20230630.xsd#Inventory" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Stock-basedCompensation" xlink:href="cvu-20230630.xsd#Stock-basedCompensation" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FairValue" xlink:href="cvu-20230630.xsd#FairValue" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/IncomePerCommonShare" xlink:href="cvu-20230630.xsd#IncomePerCommonShare" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Debt" xlink:href="cvu-20230630.xsd#Debt" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/MajorCustomers" xlink:href="cvu-20230630.xsd#MajorCustomers" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Leases" xlink:href="cvu-20230630.xsd#Leases" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/IncomeTaxes" xlink:href="cvu-20230630.xsd#IncomeTaxes" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CommitmentsAndContingencies" xlink:href="cvu-20230630.xsd#CommitmentsAndContingencies" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/InterimFinancialStatementsPolicies" xlink:href="cvu-20230630.xsd#InterimFinancialStatementsPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/RevenueRecognitionTables" xlink:href="cvu-20230630.xsd#RevenueRecognitionTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ContractAssetsAndLiabilitiesTables" xlink:href="cvu-20230630.xsd#ContractAssetsAndLiabilitiesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/InventoryTables" xlink:href="cvu-20230630.xsd#InventoryTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Stock-basedCompensationTables" xlink:href="cvu-20230630.xsd#Stock-basedCompensationTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FairValueTables" xlink:href="cvu-20230630.xsd#FairValueTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/IncomePerCommonShareTables" xlink:href="cvu-20230630.xsd#IncomePerCommonShareTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/DebtTables" xlink:href="cvu-20230630.xsd#DebtTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/LeasesTables" xlink:href="cvu-20230630.xsd#LeasesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/InterimFinancialStatementsDetailsNarrative" xlink:href="cvu-20230630.xsd#InterimFinancialStatementsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails" xlink:href="cvu-20230630.xsd#FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/RevenueRecognitionDetailsNarrative" xlink:href="cvu-20230630.xsd#RevenueRecognitionDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails" xlink:href="cvu-20230630.xsd#ScheduleOfContractAssetsAndLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ContractAssetsAndLiabilitiesDetailsNarrative" xlink:href="cvu-20230630.xsd#ContractAssetsAndLiabilitiesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails" xlink:href="cvu-20230630.xsd#ComponentsOfInventoryConsistedOfFollowingDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails" xlink:href="cvu-20230630.xsd#Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusAndRestrictedStockAwardsForSixMonthsEndedJune302023Details" xlink:href="cvu-20230630.xsd#FollowingTableSummarizesActivityRelatedToOutstandingRsusAndRestrictedStockAwardsForSixMonthsEndedJune302023Details" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative" xlink:href="cvu-20230630.xsd#Stock-basedCompensationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/AtJune302023AndDecember312022FairValuesOfCashAccountsReceivableAndAccountsPayableApproximatedTheirCarryingValuesBecauseOfShort-termNatureOfTheseInstruments.Details" xlink:href="cvu-20230630.xsd#AtJune302023AndDecember312022FairValuesOfCashAccountsReceivableAndAccountsPayableApproximatedTheirCarryingValuesBecauseOfShort-termNatureOfTheseInstruments.Details" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ForThreeAndSixMonthsEndedJune302023And2022RespectivelyOurIncomePerCommonShareWasCalculatedAsFollowsDetails" xlink:href="cvu-20230630.xsd#ForThreeAndSixMonthsEndedJune302023And2022RespectivelyOurIncomePerCommonShareWasCalculatedAsFollowsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/IncomePerCommonShareDetailsNarrative" xlink:href="cvu-20230630.xsd#IncomePerCommonShareDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/MaturitiesOfLong-termDebtExcludingUnamortizedDebtIssuanceCostsAreAsFollowsDetails" xlink:href="cvu-20230630.xsd#MaturitiesOfLong-termDebtExcludingUnamortizedDebtIssuanceCostsAreAsFollowsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/DebtDetailsNarrative" xlink:href="cvu-20230630.xsd#DebtDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/MajorCustomersDetailsNarrative" xlink:href="cvu-20230630.xsd#MajorCustomersDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails" xlink:href="cvu-20230630.xsd#FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FollowingTableSetsForthRouAssetsAndOperatingLeaseLiabilitiesAsOfDetails" xlink:href="cvu-20230630.xsd#FollowingTableSetsForthRouAssetsAndOperatingLeaseLiabilitiesAsOfDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/LeasesDetailsNarrative" xlink:href="cvu-20230630.xsd#LeasesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/IncomeTaxesDetailsNarrative" xlink:href="cvu-20230630.xsd#IncomeTaxesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:href="cvu-20230630.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 (Unaudited)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CondensedConsolidatedBalanceSheetsParenthetical" xlink:title="00000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited) (Parenthetical)" />
    <link:definitionLink 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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink: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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_UnrestrictedSharesMember" xlink:label="loc_cvuUnrestrictedSharesMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_cvuUnrestrictedSharesMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_RestrictedSharesMember" xlink:label="loc_cvuRestrictedSharesMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_cvuRestrictedSharesMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_130" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue" xlink:label="loc_us-gaapCostOfRevenue_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCostOfRevenue_130" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapGrossProfit_130" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaapSellingGeneralAndAdministrativeExpense_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSellingGeneralAndAdministrativeExpense_130" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOperatingIncomeLoss_130" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaapInterestExpense_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapInterestExpense_130" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_130" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit_130" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetIncomeLoss_130" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasicAbstract" xlink:label="loc_us-gaapEarningsPerShareBasicAbstract_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEarningsPerShareBasicAbstract_130" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaapEarningsPerShareBasic_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEarningsPerShareBasicAbstract_130" xlink:to="loc_us-gaapEarningsPerShareBasic_130" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDilutedAbstract" xlink:label="loc_us-gaapEarningsPerShareDilutedAbstract_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEarningsPerShareDilutedAbstract_130" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEarningsPerShareDilutedAbstract_130" xlink:to="loc_us-gaapEarningsPerShareDiluted_130" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasicAbstract_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasicAbstract_130" xlink:type="arc" order="13" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasicAbstract_130" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic_130" xlink:type="arc" order="14" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding_130" xlink:type="arc" order="15" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquityDeficit" xlink:title="00000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS&apos; EQUITY (DEFICIT) (UNAUDITED)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink: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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationForfeited" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueShareBasedCompensationForfeited_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueShareBasedCompensationForfeited_50" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesShareBasedCompensationForfeited_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesShareBasedCompensationForfeited_50" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueShareBasedCompensation_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueShareBasedCompensation_50" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesShareBasedCompensation_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesShareBasedCompensation_50" xlink:type="arc" order="7" />
    </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/RevenueRecognition" xlink:title="00000008 - Disclosure - REVENUE RECOGNITION" />
    <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/FairValue" xlink:title="00000012 - Disclosure - FAIR VALUE" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/IncomePerCommonShare" xlink:title="00000013 - Disclosure - INCOME PER COMMON SHARE" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Debt" xlink:title="00000014 - Disclosure - DEBT" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/MajorCustomers" xlink:title="00000015 - Disclosure - MAJOR CUSTOMERS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Leases" xlink:title="00000016 - Disclosure - LEASES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/IncomeTaxes" xlink:title="00000017 - Disclosure - INCOME TAXES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CommitmentsAndContingencies" xlink:title="00000018 - Disclosure - COMMITMENTS AND CONTINGENCIES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/InterimFinancialStatementsPolicies" xlink:title="00000019 - Disclosure - INTERIM FINANCIAL STATEMENTS (Policies)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/RevenueRecognitionTables" xlink:title="00000020 - Disclosure - REVENUE RECOGNITION (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ContractAssetsAndLiabilitiesTables" xlink:title="00000021 - Disclosure - CONTRACT ASSETS AND LIABILITIES (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/InventoryTables" xlink:title="00000022 - Disclosure - INVENTORY (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/Stock-basedCompensationTables" xlink:title="00000023 - Disclosure - STOCK-BASED COMPENSATION (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/FairValueTables" xlink:title="00000024 - Disclosure - FAIR VALUE (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/IncomePerCommonShareTables" xlink:title="00000025 - Disclosure - INCOME PER COMMON SHARE (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/DebtTables" xlink:title="00000026 - Disclosure - DEBT (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/LeasesTables" xlink:title="00000027 - Disclosure - LEASES (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/InterimFinancialStatementsDetailsNarrative" xlink:title="00000028 - Disclosure - INTERIM FINANCIAL STATEMENTS (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails" xlink:title="00000029 - 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/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="loc_us-gaapDisaggregationOfRevenueLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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-20230630.xsd#cvu_AerostructureMember" xlink:label="loc_cvuAerostructureMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_cvuAerostructureMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_AerosystemsMember" xlink:label="loc_cvuAerosystemsMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_cvuAerosystemsMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_KittingAndSupplyChainManagementMember" xlink:label="loc_cvuKittingAndSupplyChainManagementMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_cvuKittingAndSupplyChainManagementMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="loc_us-gaapTimingOfTransferOfGoodOrServiceAxis" />
      <link:definitionArc xlink: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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/RevenueRecognitionDetailsNarrative" xlink:title="00000030 - Disclosure - REVENUE RECOGNITION (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="loc_us-gaapRevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="loc_us-gaapRevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="loc_us-gaapRevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="loc_us-gaapRevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapRevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="loc_us-gaapRevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="loc_us-gaapRevenueRemainingPerformanceObligation_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="loc_us-gaapRevenueRemainingPerformanceObligation_10" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="loc_us-gaapRevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="loc_us-gaapRevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_10" xlink:type="arc" order="1" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails" xlink:title="00000031 - Disclosure - Schedule of contract assets and liabilities (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ContractAssetsAndLiabilitiesDetailsNarrative" xlink:title="00000032 - Disclosure - CONTRACT ASSETS AND LIABILITIES (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails" xlink:title="00000033 - 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="00000034 - 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/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/FollowingTableSummarizesActivityRelatedToOutstandingRsusAndRestrictedStockAwardsForSixMonthsEndedJune302023Details" xlink:title="00000035 - Disclosure - The following table summarizes activity related to outstanding RSUs and Restricted Stock Awards for the six months ended June 30, 2023: (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaapRestrictedStockUnitsRSUMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapRestrictedStockUnitsRSUMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_70" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_70" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_70" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_70" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_70" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_70" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_70" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_70" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="cvu-20230630.xsd#cvu_ForfeitedRestrictedStockMember" xlink:label="loc_cvuForfeitedRestrictedStockMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_cvuForfeitedRestrictedStockMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaapIncomeStatementLocationAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapIncomeStatementLocationAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaapIncomeStatementLocationDomain" />
      <link:definitionArc xlink: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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="loc_us-gaapSellingGeneralAndAdministrativeExpensesMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapIncomeStatementLocationDomain" xlink:to="loc_us-gaapSellingGeneralAndAdministrativeExpensesMember_10" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesRestrictedStockAwardForfeited_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesRestrictedStockAwardForfeited_40" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaapAllocatedShareBasedCompensationExpense_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapAllocatedShareBasedCompensationExpense_40" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_40" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/AtJune302023AndDecember312022FairValuesOfCashAccountsReceivableAndAccountsPayableApproximatedTheirCarryingValuesBecauseOfShort-termNatureOfTheseInstruments.Details" xlink:title="00000037 - Disclosure - At June 30, 2023 and December 31, 2022, the fair values of cash, accounts receivable and accounts payable approximated their carrying values because of the short-term nature of these instruments. (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems" xlink:label="loc_us-gaapFairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByBalanceSheetGroupingTable" xlink:label="loc_us-gaapFairValueByBalanceSheetGroupingTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems" xlink:to="loc_us-gaapFairValueByBalanceSheetGroupingTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByMeasurementBasisAxis" xlink:label="loc_us-gaapFairValueByMeasurementBasisAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapFairValueByBalanceSheetGroupingTable" xlink:to="loc_us-gaapFairValueByMeasurementBasisAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PortionAtFairValueFairValueDisclosureMember" xlink:label="loc_us-gaapPortionAtFairValueFairValueDisclosureMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapFairValueByMeasurementBasisAxis" xlink:to="loc_us-gaapPortionAtFairValueFairValueDisclosureMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PortionAtFairValueFairValueDisclosureMember" xlink:label="loc_us-gaapPortionAtFairValueFairValueDisclosureMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFairValueByMeasurementBasisAxis" xlink:to="loc_us-gaapPortionAtFairValueFairValueDisclosureMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CarryingReportedAmountFairValueDisclosureMember" xlink:label="loc_us-gaapCarryingReportedAmountFairValueDisclosureMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPortionAtFairValueFairValueDisclosureMember" xlink:to="loc_us-gaapCarryingReportedAmountFairValueDisclosureMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EstimateOfFairValueFairValueDisclosureMember" xlink:label="loc_us-gaapEstimateOfFairValueFairValueDisclosureMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPortionAtFairValueFairValueDisclosureMember" xlink:to="loc_us-gaapEstimateOfFairValueFairValueDisclosureMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFairValue" xlink:label="loc_us-gaapDebtInstrumentFairValue_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems" xlink:to="loc_us-gaapDebtInstrumentFairValue_50" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ForThreeAndSixMonthsEndedJune302023And2022RespectivelyOurIncomePerCommonShareWasCalculatedAsFollowsDetails" xlink:title="00000038 - Disclosure - For the three and six months ended June 30, 2023 and 2022, respectively, our income per common share was calculated as follows: (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasicLineItems" xlink:label="loc_us-gaapEarningsPerShareBasicLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicByCommonClassTable" xlink:label="loc_us-gaapScheduleOfEarningsPerShareBasicByCommonClassTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapEarningsPerShareBasicLineItems" xlink:to="loc_us-gaapScheduleOfEarningsPerShareBasicByCommonClassTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEarningsPerShareBasicByCommonClassTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_UnrestrictedSharesMember" xlink:label="loc_cvuUnrestrictedSharesMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_cvuUnrestrictedSharesMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_RestrictedSharesMember" xlink:label="loc_cvuRestrictedSharesMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_cvuRestrictedSharesMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEarningsPerShareBasicLineItems" xlink:to="loc_us-gaapNetIncomeLoss_130" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasicAbstract" xlink:label="loc_us-gaapEarningsPerShareBasicAbstract_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEarningsPerShareBasicLineItems" xlink:to="loc_us-gaapEarningsPerShareBasicAbstract_130" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaapEarningsPerShareBasic_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEarningsPerShareBasicAbstract_130" xlink:to="loc_us-gaapEarningsPerShareBasic_130" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDilutedAbstract" xlink:label="loc_us-gaapEarningsPerShareDilutedAbstract_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEarningsPerShareBasicLineItems" xlink:to="loc_us-gaapEarningsPerShareDilutedAbstract_130" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEarningsPerShareDilutedAbstract_130" xlink:to="loc_us-gaapEarningsPerShareDiluted_130" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasicAbstract_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEarningsPerShareBasicLineItems" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasicAbstract_130" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasicAbstract_130" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic_130" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEarningsPerShareBasicLineItems" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding_130" xlink:type="arc" order="7" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/IncomePerCommonShareDetailsNarrative" xlink:title="00000039 - Disclosure - INCOME PER COMMON SHARE (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/MaturitiesOfLong-termDebtExcludingUnamortizedDebtIssuanceCostsAreAsFollowsDetails" xlink:title="00000040 - Disclosure - The maturities of long-term debt (excluding unamortized debt issuance costs) are as follows: (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/DebtDetailsNarrative" xlink:title="00000041 - Disclosure - DEBT (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="loc_us-gaapLineOfCreditFacilityLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20230630.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20230630.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-20230630.xsd#cvu_RevolvingLoanAndTermLoanMember" xlink:label="loc_cvuRevolvingLoanAndTermLoanMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapCreditFacilityDomain" xlink:to="loc_cvuRevolvingLoanAndTermLoanMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20230630.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-20230630.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-20230630.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-20230630.xsd#cvu_FirstInstallmentMember" xlink:label="loc_cvuFirstInstallmentMember_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_cvuFirstInstallmentMember_70" xlink:type="arc" order="73" />
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_SecondInstallmentMember" xlink:label="loc_cvuSecondInstallmentMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_cvuSecondInstallmentMember_80" xlink:type="arc" order="83" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember_100" xlink:type="arc" order="102" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="loc_us-gaapVariableRateAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapVariableRateAxis" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="loc_us-gaapVariableRateDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapVariableRateAxis" xlink:to="loc_us-gaapVariableRateDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="loc_us-gaapVariableRateDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapVariableRateAxis" xlink:to="loc_us-gaapVariableRateDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrimeRateMember" xlink:label="loc_us-gaapPrimeRateMember_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapVariableRateDomain" xlink:to="loc_us-gaapPrimeRateMember_120" xlink:type="arc" order="123" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity_230" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="loc_us-gaapDebtInstrumentFaceAmount_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentFaceAmount_230" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityExpirationDate1" xlink:label="loc_us-gaapLineOfCreditFacilityExpirationDate1_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityExpirationDate1_230" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_AmendmentFee" xlink:label="loc_cvuAmendmentFee_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_cvuAmendmentFee_230" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_MinimumDebtServiceCoverageRatio" xlink:label="loc_cvuMinimumDebtServiceCoverageRatio_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_cvuMinimumDebtServiceCoverageRatio_230" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_MaximumLeverageRatio" xlink:label="loc_cvuMaximumLeverageRatio_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_cvuMaximumLeverageRatio_230" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_NetIncomeRequiredUnderAgreement" xlink:label="loc_cvuNetIncomeRequiredUnderAgreement_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_cvuNetIncomeRequiredUnderAgreement_230" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_MinimumAdjustedEbitda" xlink:label="loc_cvuMinimumAdjustedEbitda_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_cvuMinimumAdjustedEbitda_230" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="loc_us-gaapDebtInstrumentBasisSpreadOnVariableRate1_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentBasisSpreadOnVariableRate1_230" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaapDebtInstrumentInterestRateStatedPercentage_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentInterestRateStatedPercentage_230" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtPercentageBearingVariableInterestRate" xlink:label="loc_us-gaapLongTermDebtPercentageBearingVariableInterestRate_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLongTermDebtPercentageBearingVariableInterestRate_230" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCredit" xlink:label="loc_us-gaapLineOfCredit_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCredit_230" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaapLinesOfCreditCurrent_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLinesOfCreditCurrent_230" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermLineOfCredit" xlink:label="loc_us-gaapLongTermLineOfCredit_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLongTermLineOfCredit_230" xlink:type="arc" order="13" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="loc_us-gaapDebtInstrumentCarryingAmount_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentCarryingAmount_230" xlink:type="arc" order="14" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:label="loc_us-gaapLongTermDebtAndCapitalLeaseObligations_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLongTermDebtAndCapitalLeaseObligations_230" xlink:type="arc" order="15" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:label="loc_us-gaapLongTermDebtAndCapitalLeaseObligationsCurrent_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLongTermDebtAndCapitalLeaseObligationsCurrent_230" xlink:type="arc" order="16" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="loc_us-gaapPaymentsOfDebtIssuanceCosts_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapPaymentsOfDebtIssuanceCosts_230" xlink:type="arc" order="17" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFinanceCostsNoncurrentNet" xlink:label="loc_us-gaapDeferredFinanceCostsNoncurrentNet_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDeferredFinanceCostsNoncurrentNet_230" xlink:type="arc" order="18" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/MajorCustomersDetailsNarrative" xlink:title="00000042 - Disclosure - MAJOR CUSTOMERS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="loc_us-gaapConcentrationRiskLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="cvu-20230630.xsd#cvu_ContractAssetsMember" xlink:label="loc_cvuContractAssetsMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_cvuContractAssetsMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember_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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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-20230630.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-20230630.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-20230630.xsd#cvu_CustomerThreeMember" xlink:label="loc_cvuCustomerThreeMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_cvuCustomerThreeMember_40" xlink:type="arc" order="43" />
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_CustomerFourMember" xlink:label="loc_cvuCustomerFourMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_cvuCustomerFourMember_80" xlink:type="arc" order="83" />
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_CustomerFiveMember" xlink:label="loc_cvuCustomerFiveMember_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_cvuCustomerFiveMember_170" xlink:type="arc" order="173" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="loc_us-gaapConcentrationRiskPercentage1_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskLineItems" xlink:to="loc_us-gaapConcentrationRiskPercentage1_230" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails" xlink:title="00000043 - Disclosure - Future minimum lease payments under non-cancellable operating leases as of June 30, 2023 were as follows: (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/FollowingTableSetsForthRouAssetsAndOperatingLeaseLiabilitiesAsOfDetails" xlink:title="00000044 - Disclosure - The following table sets forth the ROU assets and operating lease liabilities as of: (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/LeasesDetailsNarrative" xlink:title="00000045 - Disclosure - LEASES (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/IncomeTaxesDetailsNarrative" xlink:title="00000046 - Disclosure - INCOME TAXES (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:title="00000047 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details Narrative)" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>8
<FILENAME>cvu-20230630_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.19a -->
    <!-- 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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_StatementClassOfStockAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementClassOfStockAxis_lbl" xml:lang="en-US">Class of Stock [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_UnrestrictedSharesMember" xlink:label="cvu_UnrestrictedSharesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_UnrestrictedSharesMember" xlink:to="cvu_UnrestrictedSharesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_UnrestrictedSharesMember_lbl" xml:lang="en-US">Unrestricted Shares [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_RestrictedSharesMember" xlink:label="cvu_RestrictedSharesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_RestrictedSharesMember" xlink:to="cvu_RestrictedSharesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_RestrictedSharesMember_lbl" xml:lang="en-US">Restricted Shares [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl" 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/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis_lbl" 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-20230630.xsd#cvu_AerostructureMember" xlink:label="cvu_AerostructureMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_AerostructureMember" xlink:to="cvu_AerostructureMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_AerostructureMember_lbl" xml:lang="en-US">Aerostructure [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_AerosystemsMember" xlink:label="cvu_AerosystemsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_AerosystemsMember" xlink:to="cvu_AerosystemsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_AerosystemsMember_lbl" xml:lang="en-US">Aerosystems [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_KittingAndSupplyChainManagementMember" xlink:label="cvu_KittingAndSupplyChainManagementMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_KittingAndSupplyChainManagementMember" xlink:to="cvu_KittingAndSupplyChainManagementMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_KittingAndSupplyChainManagementMember_lbl" xml:lang="en-US">Kitting and Supply Chain Management [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceAxis_lbl" 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_lbl" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationAxis_lbl" 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">Income Statement Location [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfSalesMember" xlink:to="us-gaap_CostOfSalesMember_lbl" 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_AwardTypeAxis_lbl" 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="cvu-20230630.xsd#cvu_ForfeitedRestrictedStockMember" xlink:label="cvu_ForfeitedRestrictedStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_ForfeitedRestrictedStockMember" xlink:to="cvu_ForfeitedRestrictedStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_ForfeitedRestrictedStockMember_lbl" xml:lang="en-US">Forfeited Restricted Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByMeasurementBasisAxis" xlink:label="us-gaap_FairValueByMeasurementBasisAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByMeasurementBasisAxis" xlink:to="us-gaap_FairValueByMeasurementBasisAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueByMeasurementBasisAxis_lbl" xml:lang="en-US">Measurement Basis [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CarryingReportedAmountFairValueDisclosureMember" xlink:label="us-gaap_CarryingReportedAmountFairValueDisclosureMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CarryingReportedAmountFairValueDisclosureMember" xlink:to="us-gaap_CarryingReportedAmountFairValueDisclosureMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CarryingReportedAmountFairValueDisclosureMember_lbl" xml:lang="en-US">Reported Value Measurement [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EstimateOfFairValueFairValueDisclosureMember" xlink:label="us-gaap_EstimateOfFairValueFairValueDisclosureMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EstimateOfFairValueFairValueDisclosureMember" xlink:to="us-gaap_EstimateOfFairValueFairValueDisclosureMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EstimateOfFairValueFairValueDisclosureMember_lbl" xml:lang="en-US">Estimate of Fair Value Measurement [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-20230630.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20230630.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="cvu-20230630.xsd#cvu_RevolvingLoanAndTermLoanMember" xlink:label="cvu_RevolvingLoanAndTermLoanMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_RevolvingLoanAndTermLoanMember" xlink:to="cvu_RevolvingLoanAndTermLoanMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_RevolvingLoanAndTermLoanMember_lbl" xml:lang="en-US">Revolving Loan and Term Loan [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-20230630.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-20230630.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-20230630.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-20230630.xsd#cvu_FirstInstallmentMember" xlink:label="cvu_FirstInstallmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_FirstInstallmentMember" xlink:to="cvu_FirstInstallmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_FirstInstallmentMember_lbl" xml:lang="en-US">First Installment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_SecondInstallmentMember" xlink:label="cvu_SecondInstallmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_SecondInstallmentMember" xlink:to="cvu_SecondInstallmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_SecondInstallmentMember_lbl" xml:lang="en-US">Second Installment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableRateAxis_lbl" xml:lang="en-US">Variable Rate [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrimeRateMember" xlink:label="us-gaap_PrimeRateMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrimeRateMember" xlink:to="us-gaap_PrimeRateMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrimeRateMember_lbl" xml:lang="en-US">Prime Rate [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_lbl" 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/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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-20230630.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-20230630.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-20230630.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-20230630.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="cvu-20230630.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/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember_lbl" 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-20230630.xsd#cvu_CustomerFiveMember" xlink:label="cvu_CustomerFiveMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_CustomerFiveMember" xlink:to="cvu_CustomerFiveMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_CustomerFiveMember_lbl" xml:lang="en-US">Customer Five [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CoverAbstract_lbl" xml:lang="en-US">Cover [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="dei_DocumentType" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentType_lbl" xml:lang="en-US">Document Type</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentFlag_lbl" xml:lang="en-US">Amendment Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentQuarterlyReport" xlink:to="dei_DocumentQuarterlyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentQuarterlyReport_lbl" xml:lang="en-US">Document Quarterly Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentTransitionReport_lbl" xml:lang="en-US">Document Transition Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodEndDate_lbl" xml:lang="en-US">Document Period End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xml:lang="en-US">Document Fiscal Period Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalYearFocus_lbl" xml:lang="en-US">Document Fiscal Year Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xml:lang="en-US">Current Fiscal Year End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFileNumber_lbl" xml:lang="en-US">Entity File Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityRegistrantName_lbl" xml:lang="en-US">Entity Registrant Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCentralIndexKey_lbl" xml:lang="en-US">Entity Central Index Key</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_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/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xml:lang="en-US">Entity Tax Identification Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_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/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine1_lbl" xml:lang="en-US">Entity Address, Address Line One</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US">Entity Address, City or Town</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressStateOrProvince_lbl" xml:lang="en-US">Entity Address, State or Province</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_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/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressPostalZipCode_lbl" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_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/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CityAreaCode_lbl" xml:lang="en-US">City Area Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LocalPhoneNumber_lbl" xml:lang="en-US">Local Phone Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12bTitle_lbl" xml:lang="en-US">Title of 12(b) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_TradingSymbol_lbl" xml:lang="en-US">Trading Symbol</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityExchangeName_lbl" xml:lang="en-US">Security Exchange Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCurrentReportingStatus_lbl" xml:lang="en-US">Entity Current Reporting Status</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_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/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFilerCategory_lbl" xml:lang="en-US">Entity Filer Category</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntitySmallBusiness_lbl" xml:lang="en-US">Entity Small Business</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xml:lang="en-US">Entity Emerging Growth Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityShellCompany_lbl" xml:lang="en-US">Entity Shell Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_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/2023/dei-2023.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/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Cash" xlink:to="us-gaap_Cash_lbl" 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/2023/elts/us-gaap-2023.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</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InsuranceSettlementsReceivableCurrent" xlink:label="us-gaap_InsuranceSettlementsReceivableCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InsuranceSettlementsReceivableCurrent" xlink:to="us-gaap_InsuranceSettlementsReceivableCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InsuranceSettlementsReceivableCurrent_lbl" xml:lang="en-US">Insurance recovery receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl" 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl" 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LitigationReserveCurrent" xlink:label="us-gaap_LitigationReserveCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LitigationReserveCurrent" xlink:to="us-gaap_LitigationReserveCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LitigationReserveCurrent_lbl" xml:lang="en-US">Litigation settlement obligation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl" 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/2023/elts/us-gaap-2023.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 tax payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl" 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl" 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,727,167 and 12,506,795 shares, respectively, issued and outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl" 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:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfRevenue" xlink:to="us-gaap_CostOfRevenue_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl" 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/2023/elts/us-gaap-2023.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/2003/role/label" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasicAbstract" xlink:label="us-gaap_EarningsPerShareBasicAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasicAbstract" xlink:to="us-gaap_EarningsPerShareBasicAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasicAbstract_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/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDilutedAbstract" xlink:label="us-gaap_EarningsPerShareDilutedAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDilutedAbstract" xlink:to="us-gaap_EarningsPerShareDilutedAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDilutedAbstract_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/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" 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/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_lbl" xml:lang="en-US">Shares used in computing income per common share, basic:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" 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;&#160;&#160;Total shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" 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">Shares used in computing income per common share, diluted</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 (Loss)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationForfeited" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationForfeited" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationForfeited" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationForfeited_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationForfeited_lbl" xml:lang="en-US">Common stock forfeited</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited" xlink:to="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited_lbl" xml:lang="en-US">Common stock forfeited (in shares)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_lbl" xml:lang="en-US">Stock-based compensation expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:to="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_lbl" xml:lang="en-US">Stock-based compensation expense (in shares)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_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">Beginning balance (in shares)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl" 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/2023/elts/us-gaap-2023.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:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetIncomeLoss_3_lbl" xml:lang="en-US">Net income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" 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 provided by (used in) operating activities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl" 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForLoanAndLeaseLosses" xlink:label="us-gaap_ProvisionForLoanAndLeaseLosses" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForLoanAndLeaseLosses" xlink:to="us-gaap_ProvisionForLoanAndLeaseLosses_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProvisionForLoanAndLeaseLosses_lbl" xml:lang="en-US">Bad debt expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" 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) decrease in accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 (increase) in insurance receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">Increase in contract assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInIncomeTaxesReceivable" xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable" xlink:to="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable_lbl" xml:lang="en-US">Increase in refundable income taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInLeasingReceivables" xlink:label="us-gaap_IncreaseDecreaseInLeasingReceivables" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInLeasingReceivables" xlink:to="us-gaap_IncreaseDecreaseInLeasingReceivables_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInLeasingReceivables_lbl" xml:lang="en-US">Decrease in operating right-of-use assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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">Increase (decrease) in accounts payable and accrued expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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">Increase (decrease) in contract liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.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) increase in settlement of litigation obligation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl" 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 lease liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl" 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 (decrease) in income taxes payable</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" 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 provided by (used in) operating activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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">Payments on long-term debt</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20230630.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl" 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerAbstract_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" 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 RECOGNITION</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.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-20230630.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueDisclosuresAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueDisclosuresAbstract_lbl" xml:lang="en-US">Fair Value Disclosures [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresTextBlock" xlink:to="us-gaap_FairValueDisclosuresTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueDisclosuresTextBlock_lbl" xml:lang="en-US">FAIR VALUE</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl" 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">INCOME PER COMMON SHARE</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureAbstract_lbl" 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/2023/elts/us-gaap-2023.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">DEBT</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" 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 - Adopted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" 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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_lbl" xml:lang="en-US">The following table summarizes activity related to outstanding RSUs and Restricted Stock Awards for the six months ended June 30, 2023:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByBalanceSheetGroupingTextBlock" xlink:label="us-gaap_FairValueByBalanceSheetGroupingTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTextBlock" xlink:to="us-gaap_FairValueByBalanceSheetGroupingTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueByBalanceSheetGroupingTextBlock_lbl" xml:lang="en-US">At June 30, 2023 and December 31, 2022, the fair values of cash, accounts receivable and accounts payable approximated their carrying values because of the short-term nature of these instruments.</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicByCommonClassTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicByCommonClassTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicByCommonClassTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicByCommonClassTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicByCommonClassTextBlock_lbl" xml:lang="en-US">For the three and six months ended June 30, 2023 and 2022, respectively, our income per common share was calculated as follows:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:to="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_lbl" xml:lang="en-US">The maturities of long-term debt (excluding unamortized debt issuance costs) are as follows:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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, 2023 were as follows:</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.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 ROU assets and operating lease liabilities as of:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_lbl" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_lbl" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligation" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_lbl" 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:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl" xml:lang="en-US">Performance obligations duration</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 Assets And Liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/verboseLabel" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_lbl" 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="cvu-20230630.xsd#cvu_NetContractAssets" xlink:label="cvu_NetContractAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_NetContractAssets" xlink:to="cvu_NetContractAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="cvu_NetContractAssets_lbl" xml:lang="en-US">Net Contract assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoods" xlink:label="us-gaap_InventoryFinishedGoods" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryFinishedGoods" xlink:to="us-gaap_InventoryFinishedGoods_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryFinishedGoods_lbl" xml:lang="en-US">Finished goods</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryGross" xlink:label="us-gaap_InventoryGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryGross" xlink:to="us-gaap_InventoryGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_InventoryGross_lbl" xml:lang="en-US">Gross inventory</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryValuationReserves" xlink:label="us-gaap_InventoryValuationReserves" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryValuationReserves" xlink:to="us-gaap_InventoryValuationReserves_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_InventoryValuationReserves_lbl" xml:lang="en-US">Inventory reserves</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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_lbl" 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">Total stock-based compensation expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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, 2022</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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, 2022</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_lbl" 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_lbl" 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 December 31, 2022</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 December 31, 2022</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited_lbl" xml:lang="en-US">Shares forfeited</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_2_lbl" xml:lang="en-US">Stock-based compensation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByBalanceSheetGroupingTable" xlink:label="us-gaap_FairValueByBalanceSheetGroupingTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="us-gaap_FairValueByBalanceSheetGroupingTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueByBalanceSheetGroupingTable_lbl" xml:lang="en-US">Fair Value, by Balance Sheet Grouping [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems" xlink:label="us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems" xlink:to="us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_lbl" xml:lang="en-US">Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFairValue" xlink:label="us-gaap_DebtInstrumentFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentFairValue" xlink:to="us-gaap_DebtInstrumentFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentFairValue_lbl" xml:lang="en-US">Short-term borrowings and long-term debt</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicByCommonClassTable" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicByCommonClassTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicByCommonClassTable" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicByCommonClassTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicByCommonClassTable_lbl" xml:lang="en-US">Schedule of Earnings Per Share, Basic, by Common Class, Including Two Class Method [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasicLineItems" xlink:label="us-gaap_EarningsPerShareBasicLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasicLineItems" xlink:to="us-gaap_EarningsPerShareBasicLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasicLineItems_lbl" xml:lang="en-US">Earnings Per Share, Basic, by Common Class, Including Two Class Method [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareBasic_2_lbl" xml:lang="en-US">Income (loss) per common share, basic</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDiluted_2_lbl" xml:lang="en-US">Income (loss) per common share, diluted</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_2_lbl" xml:lang="en-US">Total shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear_lbl" xml:lang="en-US">Remainder of 2023</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_lbl" xml:lang="en-US">2024</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_lbl" xml:lang="en-US">2025</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LongTermDebt_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityExpirationDate1" xlink:label="us-gaap_LineOfCreditFacilityExpirationDate1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityExpirationDate1" xlink:to="us-gaap_LineOfCreditFacilityExpirationDate1_lbl" 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-20230630.xsd#cvu_AmendmentFee" xlink:label="cvu_AmendmentFee" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_AmendmentFee" xlink:to="cvu_AmendmentFee_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_AmendmentFee_lbl" xml:lang="en-US">Amendment fee</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.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-20230630.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-20230630.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-20230630.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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">Debt Instrument, Interest Rate, Stated Percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="us-gaap_DebtInstrumentCarryingAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentCarryingAmount" xlink:to="us-gaap_DebtInstrumentCarryingAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentCarryingAmount_lbl" xml:lang="en-US">Aggregate principal balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligations" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:to="us-gaap_LongTermDebtAndCapitalLeaseObligations_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligations_lbl" xml:lang="en-US">Financing leases and notes payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:to="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent_lbl" xml:lang="en-US">Financing leases and notes payable current</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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl" 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 2023 Were As Follows</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 2023</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">2024</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/verboseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US">2025</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">2026</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">2027</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl" xml:lang="en-US">Thereafter</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 Rou 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">ROU assets, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LegalFees" xlink:label="us-gaap_LegalFees" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LegalFees" xlink:to="us-gaap_LegalFees_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LegalFees_lbl" xml:lang="en-US">Attorneys' fees</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LitigationSettlementExpense" xlink:label="us-gaap_LitigationSettlementExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LitigationSettlementExpense" xlink:to="us-gaap_LitigationSettlementExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LitigationSettlementExpense_lbl" xml:lang="en-US">Covered settlement amount</link:label>
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_DirectorsAndOfficersInsuranceRetentionAmount" xlink:label="cvu_DirectorsAndOfficersInsuranceRetentionAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_DirectorsAndOfficersInsuranceRetentionAmount" xlink:to="cvu_DirectorsAndOfficersInsuranceRetentionAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_DirectorsAndOfficersInsuranceRetentionAmount_lbl" xml:lang="en-US">Directors and officers insurance retention amount</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_UnrestrictedSharesMember" xlink:to="cvu_UnrestrictedSharesMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_UnrestrictedSharesMember_doc" xml:lang="en-US">Common shares not subject to any contractual restrictions between the Company and the shareholder.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_RestrictedSharesMember" xlink:to="cvu_RestrictedSharesMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_RestrictedSharesMember_doc" xml:lang="en-US">Common shares that are subject to contractual restrictions between the Company and the shareholder,</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_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="cvu_AerostructureMember" xlink:to="cvu_AerostructureMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_AerostructureMember_doc" xml:lang="en-US">Aerostructure [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_AerosystemsMember" xlink:to="cvu_AerosystemsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_AerosystemsMember_doc" xml:lang="en-US">Aerosystems [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_KittingAndSupplyChainManagementMember" xlink:to="cvu_KittingAndSupplyChainManagementMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_KittingAndSupplyChainManagementMember_doc" xml:lang="en-US">Kitting and Supply Chain Management [Member]</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_NetContractAssets" xlink:to="cvu_NetContractAssets_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_NetContractAssets_doc" xml:lang="en-US">The element represents net contract assets.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_ForfeitedRestrictedStockMember" xlink:to="cvu_ForfeitedRestrictedStockMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_ForfeitedRestrictedStockMember_doc" xml:lang="en-US">Forfeited Restricted Stock.</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_RevolvingLoanAndTermLoanMember" xlink:to="cvu_RevolvingLoanAndTermLoanMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_RevolvingLoanAndTermLoanMember_doc" xml:lang="en-US">Revolving Loan and 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_AmendmentFee" xlink:to="cvu_AmendmentFee_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_AmendmentFee_doc" xml:lang="en-US">The element represents amendment fee.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_FirstInstallmentMember" xlink:to="cvu_FirstInstallmentMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_FirstInstallmentMember_doc" xml:lang="en-US">First Installment [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="cvu_SecondInstallmentMember" xlink:to="cvu_SecondInstallmentMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_SecondInstallmentMember_doc" xml:lang="en-US">Second Installment [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_CustomerFiveMember" xlink:to="cvu_CustomerFiveMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_CustomerFiveMember_doc" xml:lang="en-US">Customer Five.</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_DirectorsAndOfficersInsuranceRetentionAmount" xlink:to="cvu_DirectorsAndOfficersInsuranceRetentionAmount_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="cvu_DirectorsAndOfficersInsuranceRetentionAmount_doc" xml:lang="en-US">The element represents directors and officers insurance retention amount.</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="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_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_StockIssuedDuringPeriodValueShareBasedCompensationForfeited" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationForfeited_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationForfeited_2_lbl" xml:lang="en-US">Shares Issued, Value, Share-Based Payment Arrangement, Forfeited</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited" xlink:to="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited_2_lbl" xml:lang="en-US">Shares Issued, Shares, Share-Based Payment Arrangement, Forfeited</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_IncreaseDecreaseInIncomeTaxesReceivable" xlink:to="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable_2_lbl" xml:lang="en-US">Increase (Decrease) in Income Taxes Receivable</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInLeasingReceivables" xlink:to="us-gaap_IncreaseDecreaseInLeasingReceivables_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInLeasingReceivables_2_lbl" xml:lang="en-US">Increase (Decrease) in Leasing Receivables</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_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="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_ContractWithCustomerAssetNet" xlink:to="us-gaap_ContractWithCustomerAssetNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetNet_2_lbl" xml:lang="en-US">Contract with Customer, Asset, after Allowance for Credit Loss</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="cvu_NetContractAssets" xlink:to="cvu_NetContractAssets_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="cvu_NetContractAssets_3_lbl" xml:lang="en-US">Net Contract Assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryGross" xlink:to="us-gaap_InventoryGross_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryGross_2_lbl" xml:lang="en-US">Inventory, Gross</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryValuationReserves" xlink:to="us-gaap_InventoryValuationReserves_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryValuationReserves_2_lbl" xml:lang="en-US">Inventory Valuation Reserves</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_LongTermDebt" xlink:to="us-gaap_LongTermDebt_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebt_2_lbl" xml:lang="en-US">Long-Term Debt</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_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_2_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Two</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-20230630_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.19a -->
    <!-- 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-20230630.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedBalanceSheets" xlink:href="cvu-20230630.xsd#CondensedConsolidatedBalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedBalanceSheetsParenthetical" xlink:href="cvu-20230630.xsd#CondensedConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations" xlink:href="cvu-20230630.xsd#CondensedConsolidatedStatementsOfOperations" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquityDeficit" xlink:href="cvu-20230630.xsd#CondensedConsolidatedStatementsOfShareholdersEquityDeficit" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows" xlink:href="cvu-20230630.xsd#CondensedConsolidatedStatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/InterimFinancialStatements" xlink:href="cvu-20230630.xsd#InterimFinancialStatements" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/RevenueRecognition" xlink:href="cvu-20230630.xsd#RevenueRecognition" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ContractAssetsAndLiabilities" xlink:href="cvu-20230630.xsd#ContractAssetsAndLiabilities" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Inventory" xlink:href="cvu-20230630.xsd#Inventory" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Stock-basedCompensation" xlink:href="cvu-20230630.xsd#Stock-basedCompensation" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FairValue" xlink:href="cvu-20230630.xsd#FairValue" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/IncomePerCommonShare" xlink:href="cvu-20230630.xsd#IncomePerCommonShare" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Debt" xlink:href="cvu-20230630.xsd#Debt" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/MajorCustomers" xlink:href="cvu-20230630.xsd#MajorCustomers" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Leases" xlink:href="cvu-20230630.xsd#Leases" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/IncomeTaxes" xlink:href="cvu-20230630.xsd#IncomeTaxes" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CommitmentsAndContingencies" xlink:href="cvu-20230630.xsd#CommitmentsAndContingencies" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/InterimFinancialStatementsPolicies" xlink:href="cvu-20230630.xsd#InterimFinancialStatementsPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/RevenueRecognitionTables" xlink:href="cvu-20230630.xsd#RevenueRecognitionTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ContractAssetsAndLiabilitiesTables" xlink:href="cvu-20230630.xsd#ContractAssetsAndLiabilitiesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/InventoryTables" xlink:href="cvu-20230630.xsd#InventoryTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Stock-basedCompensationTables" xlink:href="cvu-20230630.xsd#Stock-basedCompensationTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FairValueTables" xlink:href="cvu-20230630.xsd#FairValueTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/IncomePerCommonShareTables" xlink:href="cvu-20230630.xsd#IncomePerCommonShareTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/DebtTables" xlink:href="cvu-20230630.xsd#DebtTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/LeasesTables" xlink:href="cvu-20230630.xsd#LeasesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/InterimFinancialStatementsDetailsNarrative" xlink:href="cvu-20230630.xsd#InterimFinancialStatementsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails" xlink:href="cvu-20230630.xsd#FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/RevenueRecognitionDetailsNarrative" xlink:href="cvu-20230630.xsd#RevenueRecognitionDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails" xlink:href="cvu-20230630.xsd#ScheduleOfContractAssetsAndLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ContractAssetsAndLiabilitiesDetailsNarrative" xlink:href="cvu-20230630.xsd#ContractAssetsAndLiabilitiesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails" xlink:href="cvu-20230630.xsd#ComponentsOfInventoryConsistedOfFollowingDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails" xlink:href="cvu-20230630.xsd#Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusAndRestrictedStockAwardsForSixMonthsEndedJune302023Details" xlink:href="cvu-20230630.xsd#FollowingTableSummarizesActivityRelatedToOutstandingRsusAndRestrictedStockAwardsForSixMonthsEndedJune302023Details" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative" xlink:href="cvu-20230630.xsd#Stock-basedCompensationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/AtJune302023AndDecember312022FairValuesOfCashAccountsReceivableAndAccountsPayableApproximatedTheirCarryingValuesBecauseOfShort-termNatureOfTheseInstruments.Details" xlink:href="cvu-20230630.xsd#AtJune302023AndDecember312022FairValuesOfCashAccountsReceivableAndAccountsPayableApproximatedTheirCarryingValuesBecauseOfShort-termNatureOfTheseInstruments.Details" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/ForThreeAndSixMonthsEndedJune302023And2022RespectivelyOurIncomePerCommonShareWasCalculatedAsFollowsDetails" xlink:href="cvu-20230630.xsd#ForThreeAndSixMonthsEndedJune302023And2022RespectivelyOurIncomePerCommonShareWasCalculatedAsFollowsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/IncomePerCommonShareDetailsNarrative" xlink:href="cvu-20230630.xsd#IncomePerCommonShareDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/MaturitiesOfLong-termDebtExcludingUnamortizedDebtIssuanceCostsAreAsFollowsDetails" xlink:href="cvu-20230630.xsd#MaturitiesOfLong-termDebtExcludingUnamortizedDebtIssuanceCostsAreAsFollowsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/DebtDetailsNarrative" xlink:href="cvu-20230630.xsd#DebtDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/MajorCustomersDetailsNarrative" xlink:href="cvu-20230630.xsd#MajorCustomersDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails" xlink:href="cvu-20230630.xsd#FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/FollowingTableSetsForthRouAssetsAndOperatingLeaseLiabilitiesAsOfDetails" xlink:href="cvu-20230630.xsd#FollowingTableSetsForthRouAssetsAndOperatingLeaseLiabilitiesAsOfDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/LeasesDetailsNarrative" xlink:href="cvu-20230630.xsd#LeasesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/IncomeTaxesDetailsNarrative" xlink:href="cvu-20230630.xsd#IncomeTaxesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://cpiaero.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:href="cvu-20230630.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/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="loc_deiCoverAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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 (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaapStatementOfFinancialPositionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaapAssetsAbstract" />
      <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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_InsuranceSettlementsReceivableCurrent" xlink:label="loc_us-gaapInsuranceSettlementsReceivableCurrent" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapInsuranceSettlementsReceivableCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="loc_us-gaapContractWithCustomerAssetNetCurrent" />
      <link:presentationArc order="50" 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/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:presentationArc order="60" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesReceivable" xlink:label="loc_us-gaapIncomeTaxesReceivable" />
      <link:presentationArc order="70" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrent" />
      <link:presentationArc order="80" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset" />
      <link:presentationArc order="100" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:presentationArc order="110" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="loc_us-gaapDeferredIncomeTaxAssetsNet" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxAssetsNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill" />
      <link:presentationArc order="130" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaapOtherAssetsNoncurrent" />
      <link:presentationArc order="140" 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/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets" />
      <link:presentationArc order="150" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" />
      <link:presentationArc order="160" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaapLiabilitiesCurrentAbstract" />
      <link:presentationArc order="170" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent" />
      <link:presentationArc order="180" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccruedLiabilitiesCurrent" />
      <link:presentationArc order="190" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LitigationReserveCurrent" xlink:label="loc_us-gaapLitigationReserveCurrent" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapLitigationReserveCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityCurrent" />
      <link:presentationArc order="210" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingencyAccrualCarryingValueCurrent" xlink:label="loc_us-gaapLossContingencyAccrualCarryingValueCurrent" />
      <link:presentationArc order="220" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaapLinesOfCreditCurrent" />
      <link:presentationArc order="230" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLongTermDebtCurrent" xlink:label="loc_us-gaapOtherLongTermDebtCurrent" />
      <link:presentationArc order="240" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent" />
      <link:presentationArc order="250" 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/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent" xlink:label="loc_us-gaapTaxesPayableCurrent" />
      <link:presentationArc order="260" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
      <link:presentationArc order="270" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermLineOfCredit" xlink:label="loc_us-gaapLongTermLineOfCredit" />
      <link:presentationArc order="280" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent" />
      <link:presentationArc order="290" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLongTermDebtNoncurrent" xlink:label="loc_us-gaapOtherLongTermDebtNoncurrent" />
      <link:presentationArc order="300" 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/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities" />
      <link:presentationArc order="310" 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/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaapStockholdersEquityAbstract" />
      <link:presentationArc order="320" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue" />
      <link:presentationArc order="330" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaapAdditionalPaidInCapitalCommonStock" />
      <link:presentationArc order="340" 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/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit" />
      <link:presentationArc order="350" 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/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:presentationArc order="360" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquity" />
      <link:presentationArc order="370" 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 (Unaudited) (Parenthetical)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaapStatementOfFinancialPositionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaapCommonStockParOrStatedValuePerShare" />
      <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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaapIncomeStatementAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_UnrestrictedSharesMember" xlink:label="loc_cvuUnrestrictedSharesMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_cvuUnrestrictedSharesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_RestrictedSharesMember" xlink:label="loc_cvuRestrictedSharesMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_cvuRestrictedSharesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue" xlink:label="loc_us-gaapCostOfRevenue" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCostOfRevenue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" 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/2023/elts/us-gaap-2023.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-gaapStatementLineItems" xlink:to="loc_us-gaapSellingGeneralAndAdministrativeExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" 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/2023/elts/us-gaap-2023.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-gaapStatementLineItems" xlink:to="loc_us-gaapInterestExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" 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/2023/elts/us-gaap-2023.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-gaapStatementLineItems" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" 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/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasicAbstract" xlink:label="loc_us-gaapEarningsPerShareBasicAbstract" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEarningsPerShareBasicAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaapEarningsPerShareBasic" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareBasicAbstract" xlink:to="loc_us-gaapEarningsPerShareBasic" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDilutedAbstract" xlink:label="loc_us-gaapEarningsPerShareDilutedAbstract" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEarningsPerShareDilutedAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareDilutedAbstract" xlink:to="loc_us-gaapEarningsPerShareDiluted" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasicAbstract" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquityDeficit" xlink:title="00000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS&apos; EQUITY (DEFICIT) (UNAUDITED)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaapStatementOfStockholdersEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link: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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationForfeited" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueShareBasedCompensationForfeited" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueShareBasedCompensationForfeited" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesShareBasedCompensationForfeited" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesShareBasedCompensationForfeited" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueShareBasedCompensation" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueShareBasedCompensation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesShareBasedCompensation" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesShareBasedCompensation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity_2" />
      <link:presentationArc order="80" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="loc_us-gaapCommonStockSharesOutstanding_2" />
      <link:presentationArc order="90" 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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaapStatementOfCashFlowsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForLoanAndLeaseLosses" xlink:label="loc_us-gaapProvisionForLoanAndLeaseLosses" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapProvisionForLoanAndLeaseLosses" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" />
      <link:presentationArc order="80" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsReceivable" />
      <link:presentationArc order="90" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInsuranceSettlementsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInInsuranceSettlementsReceivable" />
      <link:presentationArc order="100" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerAsset" />
      <link:presentationArc order="110" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
      <link:presentationArc order="120" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="loc_us-gaapIncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" />
      <link:presentationArc order="130" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInIncomeTaxesReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInIncomeTaxesReceivable" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInIncomeTaxesReceivable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInLeasingReceivables" xlink:label="loc_us-gaapIncreaseDecreaseInLeasingReceivables" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInLeasingReceivables" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
      <link:presentationArc order="160" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" />
      <link:presentationArc order="170" 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-20230630.xsd#cvu_IncreaseDecreaseInLitigationSettlementObligation" xlink:label="loc_cvuIncreaseDecreaseInLitigationSettlementObligation" />
      <link:presentationArc order="180" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="loc_us-gaapIncreaseDecreaseInOperatingLeaseLiability" />
      <link:presentationArc order="190" 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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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="cvu-20230630.xsd#cvu_IncreaseDecreaseInLossReserve" xlink:label="loc_cvuIncreaseDecreaseInLossReserve" />
      <link:presentationArc order="210" 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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" />
      <link:presentationArc order="220" 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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" />
      <link:presentationArc order="230" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:presentationArc order="240" 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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" />
      <link:presentationArc order="250" 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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" />
      <link:presentationArc order="260" 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/2023/elts/us-gaap-2023.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="loc_us-gaapPaymentsOfDebtIssuanceCosts" />
      <link:presentationArc order="280" 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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" />
      <link:presentationArc order="290" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" />
      <link:presentationArc order="300" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:presentationArc order="310" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2" />
      <link:presentationArc order="320" 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/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowElementsAbstract" xlink:label="loc_us-gaapSupplementalCashFlowElementsAbstract" />
      <link:presentationArc order="330" 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-20230630.xsd#cvu_CashPaidDuringPeriodForAbstract" xlink:label="loc_cvuCashPaidDuringPeriodForAbstract" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSupplementalCashFlowElementsAbstract" xlink:to="loc_cvuCashPaidDuringPeriodForAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidNet" xlink:label="loc_us-gaapInterestPaidNet" />
      <link:presentationArc order="350" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="loc_us-gaapIncomeTaxesPaidNet" />
      <link:presentationArc order="360" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/RevenueRecognition" xlink:title="00000008 - Disclosure - REVENUE RECOGNITION">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="loc_us-gaapRevenueFromContractWithCustomerTextBlock" />
      <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-20230630.xsd#cvu_DisclosureContractAssetsAndLiabilitiesAbstract" xlink:label="loc_cvuDisclosureContractAssetsAndLiabilitiesAbstract" />
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.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/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
      <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/FairValue" xlink:title="00000012 - Disclosure - FAIR VALUE">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaapFairValueDisclosuresAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="loc_us-gaapFairValueDisclosuresTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueDisclosuresAbstract" xlink:to="loc_us-gaapFairValueDisclosuresTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/IncomePerCommonShare" xlink:title="00000013 - Disclosure - INCOME PER COMMON SHARE">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="loc_us-gaapEarningsPerShareTextBlock" />
      <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/Debt" xlink:title="00000014 - Disclosure - DEBT">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/MajorCustomers" xlink:title="00000015 - Disclosure - MAJOR CUSTOMERS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="loc_us-gaapRisksAndUncertaintiesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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="00000016 - Disclosure - LEASES">
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_DisclosureLeasesAbstract" xlink:label="loc_cvuDisclosureLeasesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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="00000017 - Disclosure - INCOME TAXES">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="loc_us-gaapIncomeTaxDisclosureTextBlock" />
      <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="00000018 - Disclosure - COMMITMENTS AND CONTINGENCIES">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureTextBlock" />
      <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="00000019 - Disclosure - INTERIM FINANCIAL STATEMENTS (Policies)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/RevenueRecognitionTables" xlink:title="00000020 - Disclosure - REVENUE RECOGNITION (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="loc_us-gaapDisaggregationOfRevenueTableTextBlock" />
      <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:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ContractAssetsAndLiabilitiesTables" xlink:title="00000021 - Disclosure - CONTRACT ASSETS AND LIABILITIES (Tables)">
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_DisclosureContractAssetsAndLiabilitiesAbstract" xlink:label="loc_cvuDisclosureContractAssetsAndLiabilitiesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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="00000022 - Disclosure - INVENTORY (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="loc_us-gaapScheduleOfInventoryCurrentTableTextBlock" />
      <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="00000023 - Disclosure - STOCK-BASED COMPENSATION (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="loc_us-gaapScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" />
      <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/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:label="loc_us-gaapScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/FairValueTables" xlink:title="00000024 - Disclosure - FAIR VALUE (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaapFairValueDisclosuresAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByBalanceSheetGroupingTextBlock" xlink:label="loc_us-gaapFairValueByBalanceSheetGroupingTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueDisclosuresAbstract" xlink:to="loc_us-gaapFairValueByBalanceSheetGroupingTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/IncomePerCommonShareTables" xlink:title="00000025 - Disclosure - INCOME PER COMMON SHARE (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicByCommonClassTextBlock" xlink:label="loc_us-gaapScheduleOfEarningsPerShareBasicByCommonClassTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapScheduleOfEarningsPerShareBasicByCommonClassTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/DebtTables" xlink:title="00000026 - Disclosure - DEBT (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:label="loc_us-gaapScheduleOfMaturitiesOfLongTermDebtTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/LeasesTables" xlink:title="00000027 - Disclosure - LEASES (Tables)">
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_DisclosureLeasesAbstract" xlink:label="loc_cvuDisclosureLeasesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-20230630.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="00000028 - Disclosure - INTERIM FINANCIAL STATEMENTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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="00000029 - 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/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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-20230630.xsd#cvu_AerostructureMember" xlink:label="loc_cvuAerostructureMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_cvuAerostructureMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_AerosystemsMember" xlink:label="loc_cvuAerosystemsMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_cvuAerosystemsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_KittingAndSupplyChainManagementMember" xlink:label="loc_cvuKittingAndSupplyChainManagementMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_cvuKittingAndSupplyChainManagementMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="loc_us-gaapTimingOfTransferOfGoodOrServiceAxis" />
      <link: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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/RevenueRecognitionDetailsNarrative" xlink:title="00000030 - Disclosure - REVENUE RECOGNITION (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="loc_us-gaapRevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapRevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="loc_us-gaapRevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="loc_us-gaapRevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="loc_us-gaapRevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="loc_us-gaapRevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="loc_us-gaapRevenueRemainingPerformanceObligation" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="loc_us-gaapRevenueRemainingPerformanceObligation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="loc_us-gaapRevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="loc_us-gaapRevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails" xlink:title="00000031 - Disclosure - Schedule of contract assets and liabilities (Details)">
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_DisclosureContractAssetsAndLiabilitiesAbstract" xlink:label="loc_cvuDisclosureContractAssetsAndLiabilitiesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNet" xlink:label="loc_us-gaapContractWithCustomerAssetNet" />
      <link: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" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_NetContractAssets" xlink:label="loc_cvuNetContractAssets" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cvuDisclosureContractAssetsAndLiabilitiesAbstract" xlink:to="loc_cvuNetContractAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ContractAssetsAndLiabilitiesDetailsNarrative" xlink:title="00000032 - Disclosure - CONTRACT ASSETS AND LIABILITIES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_DisclosureContractAssetsAndLiabilitiesAbstract" xlink:label="loc_cvuDisclosureContractAssetsAndLiabilitiesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="loc_us-gaapContractWithCustomerLiabilityRevenueRecognized" />
      <link: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="00000033 - Disclosure - The components of inventory consisted of the following: (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryGross" xlink:label="loc_us-gaapInventoryGross" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryGross" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryValuationReserves" xlink:label="loc_us-gaapInventoryValuationReserves" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryValuationReserves" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:presentationArc order="50" 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="00000034 - 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/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/FollowingTableSummarizesActivityRelatedToOutstandingRsusAndRestrictedStockAwardsForSixMonthsEndedJune302023Details" xlink:title="00000035 - Disclosure - The following table summarizes activity related to outstanding RSUs and Restricted Stock Awards for the six months ended June 30, 2023: (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaapRestrictedStockUnitsRSUMember" />
      <link:presentationArc order="20" 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="cvu-20230630.xsd#cvu_ForfeitedRestrictedStockMember" xlink:label="loc_cvuForfeitedRestrictedStockMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_cvuForfeitedRestrictedStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaapIncomeStatementLocationAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapIncomeStatementLocationAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaapIncomeStatementLocationDomain" />
      <link: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/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="loc_us-gaapSellingGeneralAndAdministrativeExpensesMember" />
      <link:presentationArc order="20" 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/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesRestrictedStockAwardForfeited" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesRestrictedStockAwardForfeited" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaapAllocatedShareBasedCompensationExpense" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapAllocatedShareBasedCompensationExpense" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
      <link:presentationArc order="20" 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/AtJune302023AndDecember312022FairValuesOfCashAccountsReceivableAndAccountsPayableApproximatedTheirCarryingValuesBecauseOfShort-termNatureOfTheseInstruments.Details" xlink:title="00000037 - Disclosure - At June 30, 2023 and December 31, 2022, the fair values of cash, accounts receivable and accounts payable approximated their carrying values because of the short-term nature of these instruments. (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaapFairValueDisclosuresAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByBalanceSheetGroupingTable" xlink:label="loc_us-gaapFairValueByBalanceSheetGroupingTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueDisclosuresAbstract" xlink:to="loc_us-gaapFairValueByBalanceSheetGroupingTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems" xlink:label="loc_us-gaapFairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueByBalanceSheetGroupingTable" xlink:to="loc_us-gaapFairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByMeasurementBasisAxis" xlink:label="loc_us-gaapFairValueByMeasurementBasisAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueByBalanceSheetGroupingTable" xlink:to="loc_us-gaapFairValueByMeasurementBasisAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PortionAtFairValueFairValueDisclosureMember" xlink:label="loc_us-gaapPortionAtFairValueFairValueDisclosureMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueByMeasurementBasisAxis" xlink:to="loc_us-gaapPortionAtFairValueFairValueDisclosureMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CarryingReportedAmountFairValueDisclosureMember" xlink:label="loc_us-gaapCarryingReportedAmountFairValueDisclosureMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPortionAtFairValueFairValueDisclosureMember" xlink:to="loc_us-gaapCarryingReportedAmountFairValueDisclosureMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EstimateOfFairValueFairValueDisclosureMember" xlink:label="loc_us-gaapEstimateOfFairValueFairValueDisclosureMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPortionAtFairValueFairValueDisclosureMember" xlink:to="loc_us-gaapEstimateOfFairValueFairValueDisclosureMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFairValue" xlink:label="loc_us-gaapDebtInstrumentFairValue" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems" xlink:to="loc_us-gaapDebtInstrumentFairValue" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/ForThreeAndSixMonthsEndedJune302023And2022RespectivelyOurIncomePerCommonShareWasCalculatedAsFollowsDetails" xlink:title="00000038 - Disclosure - For the three and six months ended June 30, 2023 and 2022, respectively, our income per common share was calculated as follows: (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicByCommonClassTable" xlink:label="loc_us-gaapScheduleOfEarningsPerShareBasicByCommonClassTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapScheduleOfEarningsPerShareBasicByCommonClassTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasicLineItems" xlink:label="loc_us-gaapEarningsPerShareBasicLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEarningsPerShareBasicByCommonClassTable" xlink:to="loc_us-gaapEarningsPerShareBasicLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEarningsPerShareBasicByCommonClassTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_UnrestrictedSharesMember" xlink:label="loc_cvuUnrestrictedSharesMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_cvuUnrestrictedSharesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_RestrictedSharesMember" xlink:label="loc_cvuRestrictedSharesMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_cvuRestrictedSharesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareBasicLineItems" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasicAbstract" xlink:label="loc_us-gaapEarningsPerShareBasicAbstract" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareBasicLineItems" xlink:to="loc_us-gaapEarningsPerShareBasicAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaapEarningsPerShareBasic" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareBasicAbstract" xlink:to="loc_us-gaapEarningsPerShareBasic" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDilutedAbstract" xlink:label="loc_us-gaapEarningsPerShareDilutedAbstract" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareBasicLineItems" xlink:to="loc_us-gaapEarningsPerShareDilutedAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareDilutedAbstract" xlink:to="loc_us-gaapEarningsPerShareDiluted" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasicAbstract" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareBasicLineItems" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareBasicLineItems" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/IncomePerCommonShareDetailsNarrative" xlink:title="00000039 - Disclosure - INCOME PER COMMON SHARE (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/MaturitiesOfLong-termDebtExcludingUnamortizedDebtIssuanceCostsAreAsFollowsDetails" xlink:title="00000040 - Disclosure - The maturities of long-term debt (excluding unamortized debt issuance costs) are as follows: (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:label="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapLongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="loc_us-gaapLongTermDebt" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapLongTermDebt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/DebtDetailsNarrative" xlink:title="00000041 - Disclosure - DEBT (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20230630.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20230630.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-20230630.xsd#cvu_RevolvingLoanAndTermLoanMember" xlink:label="loc_cvuRevolvingLoanAndTermLoanMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCreditFacilityDomain" xlink:to="loc_cvuRevolvingLoanAndTermLoanMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20230630.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-20230630.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-20230630.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-20230630.xsd#cvu_FirstInstallmentMember" xlink:label="loc_cvuFirstInstallmentMember" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_cvuFirstInstallmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_SecondInstallmentMember" xlink:label="loc_cvuSecondInstallmentMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_cvuSecondInstallmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember" />
      <link:presentationArc order="110" 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/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="loc_us-gaapVariableRateAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapVariableRateAxis" order="50" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="loc_us-gaapVariableRateDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapVariableRateAxis" xlink:to="loc_us-gaapVariableRateDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrimeRateMember" xlink:label="loc_us-gaapPrimeRateMember" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapVariableRateDomain" xlink:to="loc_us-gaapPrimeRateMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity" />
      <link: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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20230630.xsd#cvu_AmendmentFee" xlink:label="loc_cvuAmendmentFee" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_cvuAmendmentFee" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_MinimumDebtServiceCoverageRatio" xlink:label="loc_cvuMinimumDebtServiceCoverageRatio" />
      <link:presentationArc order="40" 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-20230630.xsd#cvu_MaximumLeverageRatio" xlink:label="loc_cvuMaximumLeverageRatio" />
      <link:presentationArc order="50" 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-20230630.xsd#cvu_NetIncomeRequiredUnderAgreement" xlink:label="loc_cvuNetIncomeRequiredUnderAgreement" />
      <link:presentationArc order="60" 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-20230630.xsd#cvu_MinimumAdjustedEbitda" xlink:label="loc_cvuMinimumAdjustedEbitda" />
      <link:presentationArc order="70" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="loc_us-gaapDebtInstrumentBasisSpreadOnVariableRate1" />
      <link:presentationArc order="80" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaapDebtInstrumentInterestRateStatedPercentage" />
      <link:presentationArc order="90" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtPercentageBearingVariableInterestRate" xlink:label="loc_us-gaapLongTermDebtPercentageBearingVariableInterestRate" />
      <link:presentationArc order="100" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCredit" xlink:label="loc_us-gaapLineOfCredit" />
      <link:presentationArc order="110" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaapLinesOfCreditCurrent" />
      <link:presentationArc order="120" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermLineOfCredit" xlink:label="loc_us-gaapLongTermLineOfCredit" />
      <link:presentationArc order="130" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentCarryingAmount" xlink:label="loc_us-gaapDebtInstrumentCarryingAmount" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentCarryingAmount" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligations" xlink:label="loc_us-gaapLongTermDebtAndCapitalLeaseObligations" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLongTermDebtAndCapitalLeaseObligations" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent" xlink:label="loc_us-gaapLongTermDebtAndCapitalLeaseObligationsCurrent" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLongTermDebtAndCapitalLeaseObligationsCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDebtIssuanceCosts" xlink:label="loc_us-gaapPaymentsOfDebtIssuanceCosts" />
      <link:presentationArc order="170" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFinanceCostsNoncurrentNet" xlink:label="loc_us-gaapDeferredFinanceCostsNoncurrentNet" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDeferredFinanceCostsNoncurrentNet" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/MajorCustomersDetailsNarrative" xlink:title="00000042 - Disclosure - MAJOR CUSTOMERS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="loc_us-gaapRisksAndUncertaintiesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="cvu-20230630.xsd#cvu_ContractAssetsMember" xlink:label="loc_cvuContractAssetsMember" />
      <link:presentationArc order="60" 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/2023/elts/us-gaap-2023.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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-20230630.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-20230630.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-20230630.xsd#cvu_CustomerThreeMember" xlink:label="loc_cvuCustomerThreeMember" />
      <link:presentationArc order="50" 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-20230630.xsd#cvu_CustomerFourMember" xlink:label="loc_cvuCustomerFourMember" />
      <link:presentationArc order="90" 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-20230630.xsd#cvu_CustomerFiveMember" xlink:label="loc_cvuCustomerFiveMember" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_cvuCustomerFiveMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="loc_us-gaapConcentrationRiskPercentage1" />
      <link: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-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails" xlink:title="00000043 - Disclosure - Future minimum lease payments under non-cancellable operating leases as of June 30, 2023 were as follows: (Details)">
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_DisclosureLeasesAbstract" xlink:label="loc_cvuDisclosureLeasesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cvuDisclosureLeasesAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" />
      <link:presentationArc order="60" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
      <link:presentationArc order="70" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaapOperatingLeaseLiability" />
      <link:presentationArc order="80" 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/FollowingTableSetsForthRouAssetsAndOperatingLeaseLiabilitiesAsOfDetails" xlink:title="00000044 - Disclosure - The following table sets forth the ROU assets and operating lease liabilities as of: (Details)">
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_DisclosureLeasesAbstract" xlink:label="loc_cvuDisclosureLeasesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaapAssetsAbstract" />
      <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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="00000045 - Disclosure - LEASES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_DisclosureLeasesAbstract" xlink:label="loc_cvuDisclosureLeasesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="00000046 - Disclosure - INCOME TAXES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link: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/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="loc_us-gaapEffectiveIncomeTaxRateContinuingOperations" />
      <link:presentationArc order="10" 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/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:label="loc_us-gaapValuationAllowanceDeferredTaxAssetChangeInAmount" />
      <link:presentationArc order="30" 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:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://cpiaero.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:title="00000047 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LegalFees" xlink:label="loc_us-gaapLegalFees" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLegalFees" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LitigationSettlementExpense" xlink:label="loc_us-gaapLitigationSettlementExpense" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLitigationSettlementExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="cvu-20230630.xsd#cvu_DirectorsAndOfficersInsuranceRetentionAmount" xlink:label="loc_cvuDirectorsAndOfficersInsuranceRetentionAmount" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_cvuDirectorsAndOfficersInsuranceRetentionAmount" xlink:type="arc" />
    </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>10
<FILENAME>cpiaerologo.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 cpiaerologo.jpg
M_]C_X  02D9)1@ ! @  9 !D  #_[  11'5C:WD  0 $    /   _^X #D%D
M;V)E &3      ?_; (0 !@0$! 4$!@4%!@D&!08)"P@&!@@+# H*"PH*#! ,
M# P,# P0# X/$ \.#!,3%!03$QP;&QL<'Q\?'Q\?'Q\?'P$'!P<-# T8$! 8
M&A41%1H?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?'Q\?
M'Q\?'Q\?'Q\?_\  $0@ , "6 P$1  (1 0,1 ?_$ *8   (" P$
M       &!0<!! @" 0$  P$! 0               @,$!0$&$  ! P," P(&
M"1('       ! @,$  4&$0<A$A,Q%$%182(R"'&!D;%"(Y-T%:'14G*"HK+2
M,]-4E%465A<W&,&28X.S)#81  (! P$%!P0# 0         ! A$#!$$A,5$2
M%)$R4A,S!15A<8$B\*%"(__:  P# 0 "$0,1 #\ ZIH H H H H H H H H
MH H H H H H H#2O$GNMHFR==.@PZYK]H@G_  KV"K)(\DZ(J/9;=> Y9%6?
M(YZ(\J%QB2I*PD.LJ.H05J/%39X>QI73SL-\W-!;&8\;(5*29:2,JQA<=R2B
M[PU1V@%.NI?;*4 D)',0KAJ2!QKG>5.M*,U\\>)6F2^L)&MM]E6JW69R>(CB
MF''RYR<[B#HKD0$K) ([:Z%KVYRBI-TJ99Y='1*I'?W'W+^%G/E5_FJG\8O$
M0ZM^$RCUC+HH\,4>5XPEQ9.GR5/C8^,=8_"/\;<6-,P*9ED>$Z@PVW%.P)&K
M:PXUVH)T[/$K2L3QFKB@WOU-*O5AS4*\;]96:[^3QHN:=O(^I6GLZ-FMS]K2
M_P!&;K7P/?\ <?<OX6<^57^:KSXQ>(=6_"98]9=*)*47#'W&&-?C5(>U<2/&
M$*0C7W:/VO9LD>K-V[4/&X.Y:,4L5MN\:'](,W%:4MI*^EHA3?42KT5>"LF-
MB^9)Q;I0OO7N1)[ZDEMWF2LNQM%Y5$[F5/.L]$+ZGY-6FO-HGMJO)L>5/EK4
ME9N<\:C15!:% +>1[AX=CAZ=VN;3,@#7NR=7'?\ (CF(]NKK6-.?=17.[&.]
MB<YZPV+.K+=KMMRN*_@])D '[XGZE:OC9K>TBGJXZ)LVV-S,XN 'T;@4[E5V
M.2WD1T_?)J+Q+<=]Q?@]5Z;W19*Q9^[4HZKM=IMJ/]:0](6/::2D?5JIJRM9
M/\$T[CT2)./;LR< ,R\QVCKQ1$B</8YGG'/>JMRAHO[)*,M61NX&WSF766-
M5='HKL5:G0\D#XPE!3RK">0<O'Q59CY'ERK2I&[:YU2I1>U>W3.19?-MM[:6
MF):4K[ZRDE!+P7TTME0XZ<":[&7DN$$X[Y&"Q9YI-/0Z(;P7#V[*Y9&[1&1;
M'P$O1DH "^504"I0\XD* .I.M</J)\W-5U.CY4:4IL.=MM^.\L4GB3.F:Z_[
ME=S*]!_9'.L^K^6=4<J?$*^>.J9  [!I0"ON=_3Z_P#S)WWJT8OJQ^Y5>[C^
MQ16R><X[B<BZN7MU;29:&0QR-J<U*"KFUY>SMKKY^/.Y3ET,.+=C"M2U_P"?
M>VGZ6]^KN?6KG?'W>!KZJ'$IK>C,L?RF^19=FYBS'BEEYY:.F5K*RH  \3RC
MQUT\&Q*W%J7$Q9-R,WL';?$*1MOBB5 I4DLA23P((B]AK)@>K+^:E^5W$-7J
M]_TZ:^=R?PZH]R]7\(LQ.X676 U%/9IN+D%^R#]S,!6%2M2FXW=/HM <%<B^
M( 3\)?CX)KI6,:,(^9=W:(QW+SD^6':2^*[&XG:T]YO"3?+JL\[LF5J4<YXG
ME;).OW6M57<^<MD?U1.&+%;]K+"B084-L-1&&X[8&@0TA*$@>PD"L;DWO-"2
M1L5X>A0!0!0$3:\<M%MN=RN<-GIR[LM#LU6NH4MM/*"!X/+4Y79223W(C&"3
M;6I+5 D<F8K<X-@W7$Z[.=VBPITL27-"KEU+B1P2">TU]'>@YV:1U2.1;DHW
M*OB7Q_._;']L#Y%_\2N1T%[@;^JM\3RK?';(#7Z7U\@9?_$IT%W@.JM\3QE&
M567)MKLAN%G?,B(F.\R7"A2//2D%0 6 >&M>6K4K=Z*EOJ>SFI6VT57L+B..
M9')O"+U ;G)C(8+'4*ARE15S:<I';I72]PO3@ERNADQ+<95JBX?Y.[:?L"/[
MKGXU<SK;OB9LZ>' V;?M?M_;WTR(MCBH>00I"U)+A!'81SE51EE79*CDSU6(
M+<A']9?_ ,U:/GI_XE5K]K[[^Q1F]U?<E_5[_ITU\[D_AU7[EZOX1+$[A%[N
M[BS#(1A6**+]\G'HRW&#JIH*X=))'8M0](_!%2P\94\R?=1YD7GW8[V->V.W
ML/#;$E@A+MTD:+N$D#M5X&TG[!'@]VL^5DN[*NFA;8LJ"^HO[D[X6?'[FG%[
M'(AR<JD'D4J6^EF#!![79CI/#E''II\XUF+A>V1W)N[UKSJYYAD"+K Q^6 B
MXH2A#'12A14ID)"?-61Y@]B@$VQYUNSFE^<E)FY'8X5VE 65BWVQIZ$W%5P0
MMV0]R :#BHT!.;DY5E^UMO5"?S:3D&27U*6;:B1'9;;@,)7\=,4AL+*S\%.O
MEH!7NNY&5F"TWB>Z,O*LADN-LQ;/%LP:"W%D ZO+3HE*?'I0#ECN0;J;A78V
M"U9)]&6[&8Z&+]DT6.TX9MT/IM,I4.3D;XC5/;IKX10$9F36Z]IS*R898=Q)
MMWR*ZJZLII46.VW#B)]*0Z4A?ET3X?;% =%="1]']W[R>\]'I][Y4\W4Y=.I
MR^CKKYVG90"I?MH,"OD]RX3;=RS'CS/.LN+:YU?9*"3H3Y=*U6\RY!43V%,\
M>$G5HCOY!;;?H;_ZPY]>I_(7>)'I8<#*=A-M@H'N3QT\!D.Z'ZM/D+O$=+#@
M-?[HV 8XYCC,1,>T.M*95'9)1YJO2\X<=3X^VLWG2YN:O[%OEKEY=#2Q';W&
M<37)<LK+C2I82E[G<4YJ$:\NG,>';4KV3.Y3FT/+=J,-PSU26!0"_F&'8[D\
M)IB^-J7&BK+Z"EPM<IY2"2H$<-*MLWI6W6)7<MQDMI4MQRYN"T, VH9<DO.+
M6I^X(47 V7#\9TG%<.'A</ >"NC&S7_K>[#)*Y3]+8];9;60<1CF9*4)F021
M_P!J:=2$<W$H:YN.FOI*[55DRLMW'1;(E]FPH;=1JR6RR[Q9W[=%N<BT+?'*
MN;$Y.NE)[0A2PH))^RTUK(:!=LVRVV=LMS,+Z B3E(XN3)K2)$AY9.JG'77
M5*4H\30"J[ZM.+FQW6QL7>?%MEXG)N$V.ST4)*FP>FR/,X-(YM0GR"@/<7U>
M&HX9;1G&2B*SR!,9,WD;Z:-/BP$I&B=!IPH!FL>U=LM^>73-)TMVZW6>VF/$
M$A" W#C)X!ID#7P  J/'W30$9B^R-MQJ^Y!-M%VE1K9D2'D2;0A+8;:4\" M
MAS3G0IOF5RT! 6SU8;1:8QBVK+\@@1BHK+,:2EI)4>U1"$#4^6@'/ -I,>PR
M9-N3$F9=+S< E$JZ7)WKOEM'8A*M!HF@'B@(R5DECBK4V_,;0M!T4GB2#[0-
M35N3T(N:1'N;@X@V2%3^([>5E]7X*#4UCSX$?-CQ-1[=/#&CIWF0O[2'+5[S
M526)<>G]H\=^)IO;Q8@V"0W<7/(B!)/OH%36%/Z=J(O(C]>PUE[W8LD>;;[N
ML^2 Z/?TJ70SXQ[3SJ8\'V&HYOQ9$D].PWI?B/="G7W55)>WR\4>TCU2X,C9
M._=P<U:MF(7%Z0HZ-!Y*D@^R$(4:L7MZUFB+RGI%D4_8MY=Q"EN]J3CE@4?C
M(P!0I2?*WJ7%_=D"IJY8L=W]I$7&[<W_ *HM+#,%L&(V_N=J9T<7H9,M>A>=
G4/"I7B\21P%<Z_D2N.LC5;M*"HACJHL"@"@"@"@"@"@"@"@"@/_9

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415891936656">
<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, 2023</div></th>
<th class="th"><div>Aug. 17, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_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,  2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--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">12,639,244<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>12
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415891949408">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited) - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 3,080,672<span></span>
</td>
<td class="nump">$ 3,847,225<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">8,621,301<span></span>
</td>
<td class="nump">4,857,772<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InsuranceSettlementsReceivableCurrent', window );">Insurance recovery 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_ContractWithCustomerAssetNetCurrent', window );">Contract assets</a></td>
<td class="nump">30,962,061<span></span>
</td>
<td class="nump">27,384,540<span></span>
</td>
</tr>
<tr class="ro">
<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,918,906<span></span>
</td>
<td class="nump">2,493,069<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesReceivable', window );">Refundable income taxes</a></td>
<td class="nump">40,000<span></span>
</td>
<td class="nump">40,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_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">565,714<span></span>
</td>
<td class="nump">975,830<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total Current Assets</a></td>
<td class="nump">45,188,654<span></span>
</td>
<td class="nump">43,198,436<span></span>
</td>
</tr>
<tr class="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 );">Operating lease right-of-use assets</a></td>
<td class="nump">5,646,483<span></span>
</td>
<td class="nump">6,526,627<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">950,732<span></span>
</td>
<td class="nump">1,124,556<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred tax asset</a></td>
<td class="nump">6,279,101<span></span>
</td>
<td class="nump">6,574,463<span></span>
</td>
</tr>
<tr class="re">
<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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="nump">234,334<span></span>
</td>
<td class="nump">238,744<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total Assets</a></td>
<td class="nump">60,083,558<span></span>
</td>
<td class="nump">59,447,080<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current Liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">11,734,379<span></span>
</td>
<td class="nump">8,029,996<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued expenses</a></td>
<td class="nump">5,314,339<span></span>
</td>
<td class="nump">7,344,590<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LitigationReserveCurrent', window );">Litigation settlement obligation</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">3,600,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_ContractWithCustomerLiabilityCurrent', window );">Contract liabilities</a></td>
<td class="nump">8,605,354<span></span>
</td>
<td class="nump">6,001,726<span></span>
</td>
</tr>
<tr class="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">250,516<span></span>
</td>
<td class="nump">576,549<span></span>
</td>
</tr>
<tr class="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">1,200,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">221,172<span></span>
</td>
<td class="nump">1,719,766<span></span>
</td>
</tr>
<tr class="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">1,921,803<span></span>
</td>
<td class="nump">1,817,811<span></span>
</td>
</tr>
<tr class="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 tax payable</a></td>
<td class="nump">16,874<span></span>
</td>
<td class="nump">11,396<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">30,704,437<span></span>
</td>
<td class="nump">30,301,834<span></span>
</td>
</tr>
<tr class="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">18,360,000<span></span>
</td>
<td class="nump">19,800,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">4,121,087<span></span>
</td>
<td class="nump">5,077,235<span></span>
</td>
</tr>
<tr class="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">41,484<span></span>
</td>
<td class="nump">70,981<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">53,227,008<span></span>
</td>
<td class="nump">55,250,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_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,727,167 and 12,506,795 shares, respectively, issued and outstanding</a></td>
<td class="nump">12,727<span></span>
</td>
<td class="nump">12,507<span></span>
</td>
</tr>
<tr class="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">73,708,368<span></span>
</td>
<td class="nump">73,189,449<span></span>
</td>
</tr>
<tr class="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">(66,864,545)<span></span>
</td>
<td class="num">(69,004,926)<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">6,856,550<span></span>
</td>
<td class="nump">4,197,030<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">$ 60,083,558<span></span>
</td>
<td class="nump">$ 59,447,080<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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/2003/role/disclosureRef<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><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 26: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Cash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480555/946-210-45-21<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 210<br> -Topic 946<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480555/946-210-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Cash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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 an asset representing future economic benefits arising from other assets acquired in a business combination that are 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 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 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/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 4: 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 5: 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 6: 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 7: 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/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.10)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_InsuranceSettlementsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount due in settlement of a claim for reimbursement from an insurance company when the Company has suffered a loss covered under an insurance policy. For classified balance sheets, represents the current amount receivable, that is amounts expected to be collected 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(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_InsuranceSettlementsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-5<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_LitigationReserveCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of reserve for known or estimated probable loss from litigation, which may include attorneys' fees and other litigation costs, which is expected to be paid within one year of the date of the 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 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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<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_LitigationReserveCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<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://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/2147479617/946-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(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_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://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/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<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_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/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,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_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>13
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415891896416">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited) (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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,727,167<span></span>
</td>
<td class="nump">12,506,795<span></span>
</td>
</tr>
<tr class="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,727,167<span></span>
</td>
<td class="nump">12,506,795<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>14
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415892044848">
<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, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 20,547,555<span></span>
</td>
<td class="nump">$ 18,925,406<span></span>
</td>
<td class="nump">$ 42,564,223<span></span>
</td>
<td class="nump">$ 39,060,503<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Cost of sales</a></td>
<td class="nump">15,943,555<span></span>
</td>
<td class="nump">15,265,716<span></span>
</td>
<td class="nump">33,297,707<span></span>
</td>
<td class="nump">31,966,204<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">4,604,000<span></span>
</td>
<td class="nump">3,659,690<span></span>
</td>
<td class="nump">9,266,516<span></span>
</td>
<td class="nump">7,094,299<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general and administrative expenses</a></td>
<td class="nump">2,806,480<span></span>
</td>
<td class="nump">2,697,392<span></span>
</td>
<td class="nump">5,675,538<span></span>
</td>
<td class="nump">5,835,049<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="nump">1,797,520<span></span>
</td>
<td class="nump">962,298<span></span>
</td>
<td class="nump">3,590,978<span></span>
</td>
<td class="nump">1,259,250<span></span>
</td>
</tr>
<tr class="ro">
<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="nump">541,655<span></span>
</td>
<td class="nump">438,437<span></span>
</td>
<td class="nump">1,152,551<span></span>
</td>
<td class="nump">767,045<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before provision for income taxes</a></td>
<td class="nump">1,255,865<span></span>
</td>
<td class="nump">523,861<span></span>
</td>
<td class="nump">2,438,427<span></span>
</td>
<td class="nump">492,205<span></span>
</td>
</tr>
<tr class="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">98,789<span></span>
</td>
<td class="nump">6,225<span></span>
</td>
<td class="nump">298,046<span></span>
</td>
<td class="nump">7,500<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 1,157,076<span></span>
</td>
<td class="nump">$ 517,636<span></span>
</td>
<td class="nump">$ 2,140,381<span></span>
</td>
<td class="nump">$ 484,705<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDilutedAbstract', window );"><strong>Income per common share, diluted</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_EarningsPerShareDiluted', window );">Income per common share, diluted</a></td>
<td class="nump">$ 0.09<span></span>
</td>
<td class="nump">$ 0.04<span></span>
</td>
<td class="nump">$ 0.17<span></span>
</td>
<td class="nump">$ 0.04<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract', window );"><strong>Shares used in computing income per common share, basic:</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_WeightedAverageNumberOfSharesOutstandingBasic', window );">&#160;&#160;&#160;&#160;Total shares</a></td>
<td class="nump">12,558,793<span></span>
</td>
<td class="nump">12,439,000<span></span>
</td>
<td class="nump">12,539,652<span></span>
</td>
<td class="nump">12,401,281<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Shares used in computing income per common share, diluted</a></td>
<td class="nump">12,625,241<span></span>
</td>
<td class="nump">12,534,058<span></span>
</td>
<td class="nump">12,606,100<span></span>
</td>
<td class="nump">12,496,339<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_StatementClassOfStockAxis=cvu_UnrestrictedSharesMember', window );">Unrestricted 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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasicAbstract', window );"><strong>Income per common share, basic:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Income per common share, basic</a></td>
<td class="nump">$ 0.09<span></span>
</td>
<td class="nump">$ 0.04<span></span>
</td>
<td class="nump">$ 0.17<span></span>
</td>
<td class="nump">$ 0.04<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract', window );"><strong>Shares used in computing income per common share, basic:</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_WeightedAverageNumberOfSharesOutstandingBasic', window );">&#160;&#160;&#160;&#160;Total shares</a></td>
<td class="nump">12,429,894<span></span>
</td>
<td class="nump">12,305,939<span></span>
</td>
<td class="nump">12,412,068<span></span>
</td>
<td class="nump">12,275,306<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_StatementClassOfStockAxis=cvu_RestrictedSharesMember', window );">Restricted 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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasicAbstract', window );"><strong>Income per common share, basic:</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_EarningsPerShareBasic', window );">Income per common share, basic</a></td>
<td class="nump">$ 0.09<span></span>
</td>
<td class="nump">$ 0.04<span></span>
</td>
<td class="nump">$ 0.17<span></span>
</td>
<td class="nump">$ 0.04<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract', window );"><strong>Shares used in computing income per common share, basic:</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;&#160;&#160;Total shares</a></td>
<td class="nump">128,899<span></span>
</td>
<td class="nump">133,061<span></span>
</td>
<td class="nump">127,584<span></span>
</td>
<td class="nump">125,975<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate cost of goods produced and sold and services rendered during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasicAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EarningsPerShareBasicAbstract</td>
</tr>
<tr>
<td style="padding-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_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDilutedAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EarningsPerShareDilutedAbstract</td>
</tr>
<tr>
<td style="padding-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_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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 the cost of borrowed funds 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/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-3<br><br>Reference 3: 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(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-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 22<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br><br>Reference 6: 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.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 7: 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 (210.5-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<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 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=cvu_UnrestrictedSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementClassOfStockAxis=cvu_UnrestrictedSharesMember</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_StatementClassOfStockAxis=cvu_RestrictedSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementClassOfStockAxis=cvu_RestrictedSharesMember</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>15
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415889702128">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (DEFICIT) (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, 2021</a></td>
<td class="nump">$ 12,336<span></span>
</td>
<td class="nump">$ 72,833,742<span></span>
</td>
<td class="num">$ (78,181,151)<span></span>
</td>
<td class="num">$ (5,335,073)<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, 2021</a></td>
<td class="nump">12,335,683<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 (Loss)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(32,931)<span></span>
</td>
<td class="num">(32,931)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 47<span></span>
</td>
<td class="nump">25,835<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">25,882<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Stock-based compensation expense (in shares)</a></td>
<td class="nump">47,527<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 );">Ending balance, value at Mar. 31, 2022</a></td>
<td class="nump">$ 12,383<span></span>
</td>
<td class="nump">72,859,577<span></span>
</td>
<td class="num">(78,214,082)<span></span>
</td>
<td class="num">(5,342,122)<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, 2022</a></td>
<td class="nump">12,383,210<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, 2021</a></td>
<td class="nump">$ 12,336<span></span>
</td>
<td class="nump">72,833,742<span></span>
</td>
<td class="num">(78,181,151)<span></span>
</td>
<td class="num">(5,335,073)<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, 2021</a></td>
<td class="nump">12,335,683<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">484,705<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, 2022</a></td>
<td class="nump">$ 12,449<span></span>
</td>
<td class="nump">72,997,009<span></span>
</td>
<td class="num">(77,696,446)<span></span>
</td>
<td class="num">(4,686,988)<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 Jun. 30, 2022</a></td>
<td class="nump">12,449,327<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, 2022</a></td>
<td class="nump">$ 12,383<span></span>
</td>
<td class="nump">72,859,577<span></span>
</td>
<td class="num">(78,214,082)<span></span>
</td>
<td class="num">(5,342,122)<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, 2022</a></td>
<td class="nump">12,383,210<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 (Loss)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">517,636<span></span>
</td>
<td class="nump">517,636<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 66<span></span>
</td>
<td class="nump">137,432<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">137,498<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Stock-based compensation expense (in shares)</a></td>
<td class="nump">66,117<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 );">Ending balance, value at Jun. 30, 2022</a></td>
<td class="nump">$ 12,449<span></span>
</td>
<td class="nump">72,997,009<span></span>
</td>
<td class="num">(77,696,446)<span></span>
</td>
<td class="num">(4,686,988)<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 Jun. 30, 2022</a></td>
<td class="nump">12,449,327<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="nump">12,506,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_NetIncomeLoss', window );">Net Income (Loss)</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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 19<span></span>
</td>
<td class="nump">338,904<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">338,923<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Stock-based compensation expense (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="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 );">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="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="nump">12,506,795<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</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 );">Beginning 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="nump">12,727,167<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 (Loss)</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_StockIssuedDuringPeriodValueShareBasedCompensationForfeited', window );">Common stock forfeited</a></td>
<td class="num">$ (41)<span></span>
</td>
<td class="num">(7,406)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(7,447)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited', window );">Common stock forfeited (in shares)</a></td>
<td class="num">(41,073)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 242<span></span>
</td>
<td class="nump">187,421<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">187,663<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Stock-based compensation expense (in shares)</a></td>
<td class="nump">242,198<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 );">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 );">Beginning 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="nump">12,727,167<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_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (or other type of equity) forfeited during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationForfeited">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of forfeited shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph c(1)<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_StockIssuedDuringPeriodValueShareBasedCompensationForfeited</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415892001328">
<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, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 2,140,381<span></span>
</td>
<td class="nump">$ 484,705<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by (used in) 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">233,090<span></span>
</td>
<td class="nump">343,750<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfFinancingCosts', window );">Amortization of debt issuance cost</a></td>
<td class="nump">58,743<span></span>
</td>
<td class="nump">46,888<span></span>
</td>
</tr>
<tr class="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">519,139<span></span>
</td>
<td class="nump">163,380<span></span>
</td>
</tr>
<tr class="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">295,362<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_ProvisionForLoanAndLeaseLosses', window );">Bad debt expense</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">3,189<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">(Increase) decrease in accounts receivable</a></td>
<td class="num">(3,763,529)<span></span>
</td>
<td class="nump">117,972<span></span>
</td>
</tr>
<tr class="re">
<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 (increase) in insurance receivable</a></td>
<td class="nump">3,600,000<span></span>
</td>
<td class="num">(650,693)<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Increase in contract assets</a></td>
<td class="num">(3,577,521)<span></span>
</td>
<td class="num">(3,031,844)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Decrease in inventory</a></td>
<td class="nump">574,163<span></span>
</td>
<td class="nump">441,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_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Decrease in prepaid expenses and other assets</a></td>
<td class="nump">410,116<span></span>
</td>
<td class="nump">116,107<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInIncomeTaxesReceivable', window );">Increase in refundable income taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,335)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInLeasingReceivables', window );">Decrease in operating right-of-use assets</a></td>
<td class="nump">880,144<span></span>
</td>
<td class="nump">858,812<span></span>
</td>
</tr>
<tr class="re">
<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 );">Increase (decrease) in accounts payable and accrued expenses</a></td>
<td class="nump">1,674,132<span></span>
</td>
<td class="num">(126,884)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability', window );">Increase (decrease) in contract liabilities</a></td>
<td class="nump">2,603,628<span></span>
</td>
<td class="num">(94,934)<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_IncreaseDecreaseInLitigationSettlementObligation', window );">(Decrease) increase in settlement of litigation obligation</a></td>
<td class="num">(3,600,000)<span></span>
</td>
<td class="nump">596,741<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingLeaseLiability', window );">Decrease in lease liabilities</a></td>
<td class="num">(852,156)<span></span>
</td>
<td class="num">(780,274)<span></span>
</td>
</tr>
<tr class="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 (decrease) in income taxes payable</a></td>
<td class="nump">5,478<span></span>
</td>
<td class="num">(5,165)<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">(326,033)<span></span>
</td>
<td class="num">(577,166)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by (used in) operating activities</a></td>
<td class="nump">875,137<span></span>
</td>
<td class="num">(2,096,607)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchase of property and equipment</a></td>
<td class="num">(59,265)<span></span>
</td>
<td class="num">(25,317)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(59,265)<span></span>
</td>
<td class="num">(25,317)<span></span>
</td>
</tr>
<tr class="re">
<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="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 );">Payments on long-term debt</a></td>
<td class="num">(1,528,091)<span></span>
</td>
<td class="num">(1,560,881)<span></span>
</td>
</tr>
<tr class="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 );">Debt issuance costs paid</a></td>
<td class="num">(54,334)<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash used in financing activities</a></td>
<td class="num">(1,582,425)<span></span>
</td>
<td class="num">(1,560,881)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect', window );">Net decrease in cash</a></td>
<td class="num">(766,553)<span></span>
</td>
<td class="num">(3,682,805)<span></span>
</td>
</tr>
<tr class="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 beginning of period</a></td>
<td class="nump">3,847,225<span></span>
</td>
<td class="nump">6,308,866<span></span>
</td>
</tr>
<tr class="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 end of period</a></td>
<td class="nump">3,080,672<span></span>
</td>
<td class="nump">2,626,061<span></span>
</td>
</tr>
<tr class="ro">
<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="re">
<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,193,411<span></span>
</td>
<td class="nump">645,423<span></span>
</td>
</tr>
<tr class="ro">
<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="text"> <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_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://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 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<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><br>Reference 4: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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/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>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 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/2147482312/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_IncreaseDecreaseInIncomeTaxesReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in income taxes receivable, which represents the amount due from tax authorities for refunds of overpayments or recoveries of income taxes paid.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInIncomeTaxesReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_IncreaseDecreaseInLeasingReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount due from lessees arising from lease agreements.</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_IncreaseDecreaseInLeasingReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_ProvisionForLoanAndLeaseLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 to estimated loss from loan and lease transactions.</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/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (c)(2)<br> -SubTopic 10<br> -Topic 310<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/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForLoanAndLeaseLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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://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><br>Reference 2: 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 (b)<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_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>17
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415892645968">
<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, 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_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_80B_eus-gaap--OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_zuBQn4OQsF52" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right">&#160;</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: 48px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>1.</b></span></td>
    <td id="xdx_826_zajrJoGyRtB" style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>INTERIM FINANCIAL STATEMENTS</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_zPRVJHqjSxj9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b><span id="xdx_86B_zQZlOxwL4pw6">Basis of Presentation</span></b></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The condensed consolidated interim financial
statements of the Company as of June 30, 2023 and for the six months ended June 30, 2023 and 2022 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, 2022 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.</p>

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

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company maintains its cash in four
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, 2023, the Company had $<span id="xdx_903_eus-gaap--CashUninsuredAmount_iI_c20230630_zNrgpAtDs0F9" title="Uninsured balance">2,892,826</span> of uninsured balances. The Company limits
its credit risk by selecting financial institutions considered to be highly creditworthy.</p>

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

<p id="xdx_848_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zBbHUu2NS7c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b><span id="xdx_867_zyudyDM69nmj">Recently Issued Accounting Standards
- Adopted</span></b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In the first quarter of 2023, the Company
adopted ASU 2016-13, Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments (ASU
2016-13), using a modified retrospective method, which did not result in a significant impact on the Company&#8217;s financial
statements.</p>

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

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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>18
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415891878016">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVENUE RECOGNITION<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_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 RECOGNITION</a></td>
<td class="text"><p id="xdx_803_eus-gaap--RevenueFromContractWithCustomerTextBlock_znUr8DVyDQi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>




<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: top">
    <td style="width: 48px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2.</b></span></td>
    <td id="xdx_827_zQHNryyb3R7g" style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>REVENUE RECOGNITION</b></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">In accordance with Accounting Standards
Codification Topic 606 (&#8220;ASC 606&#8221;), the Company recognizes revenue when it transfers control of a promised good or
service to a customer in an amount that reflects the consideration it expects to be entitled to in exchange for the good or service.
The majority of the Company&#8217;s performance obligations are satisfied over-time as the Company (i) sells products with no alternative
use to the Company and (ii) has an enforceable right to recover costs incurred plus a reasonable profit margin for work completed
to date. Under the over-time revenue recognition model, revenue and gross profit are recognized over the contract period as work
is performed based on actual costs incurred and an estimate of costs to complete and resulting total estimated costs at completion.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company also has contracts that are
considered point in time. Under the point in time revenue recognition model, revenue is recognized when control of the components
has transferred to the customer; in most cases this will be based on shipping terms.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>Contracts with Customers and Performance
Obligations</b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The majority of the Company&#8217;s revenues
are from long-term contracts with the U.S. government as well military and commercial contractors. The Company accounts for a contract
when it has approval and commitment from both parties, the rights of the parties are identified, payment terms are identified,
the contract has commercial substance and collectability of consideration is probable. For the Company, the contract under ASC
606 is typically established upon execution of a purchase order either in accordance with a long-term customer contract or on a
standalone basis.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">To determine the proper revenue recognition
for our contracts, we must evaluate whether two or more contracts should be combined and accounted for as a single contract, and
whether the combined or single contract should be accounted for as one performance obligation or more than one performance obligation.
This evaluation requires significant judgment, and the decision to combine a group of contracts or to separate a contract into
multiple performance obligations could change the amount of revenue and profit recorded in a period. A performance obligation is
a promise within a contract to transfer a distinct good or service to the customer in exchange for payment and is the unit of account
for recognizing revenue. The Company&#8217;s performance obligations in its contracts with customers are typically the sale of
each individual product contemplated in the contract or a single performance obligation representing a series of products when
the contract contains multiple products that are substantially the same. The Company has elected to account for shipping performed
after control over a product has transferred to a customer as fulfillment activities. When revenue is recognized in advance of
incurring shipping costs, the costs related to the shipping are accrued. Shipping costs are included in costs of sales. The Company
provides warranties on many of its products; however, since customers cannot purchase such warranties separately and they do not
provide services beyond standard assurances, warranties are not separate performance obligations.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">A contract&#8217;s transaction price is
allocated to each distinct performance obligation and recognized as revenue when or as the performance obligation is satisfied.
For contracts with more than one performance obligation, the Company allocates the transaction price to each performance obligation
based on its estimated standalone selling price. When standalone selling prices are not available, the transaction price is allocated
using an expected cost plus margin approach as pricing for such contracts is typically negotiated on the basis of cost.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The contracts with the U.S. government
and military contractors typically are subject to the Federal Acquisition Regulation, which provides guidance on the types of costs
that are allowable in establishing prices for goods and services provided under U.S. government contracts. The pricing for commercial
contracts is based on the specific negotiations with each customer and any taxes imposed by governmental authorities are excluded
from revenue. The transaction price is primarily comprised of fixed consideration as the customer typically pays a fixed fee for
each product sold. The Company does not adjust the amount of revenue to be recognized under a customer contract for the effects
of the time value of money when the timing difference between receipt of payment and transferring the good or service is less than
one year.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The majority of the Company&#8217;s performance
obligations are satisfied over time as the Company (i) sells products with no alternative use to the Company and (ii) has an enforceable
right to recover costs incurred plus a reasonable profit margin for work completed to date. The Company uses the cost-to-cost input
method to measure progress for its performance obligations because it best depicts the transfer of control to the customer which
occurs as the Company incurs costs on its contracts.</p>






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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company generally utilizes the portfolio
approach to estimate the amount of revenue to recognize for its contracts and groups contracts together that have similar characteristics.
Contract gross profit margins are calculated using the estimated costs for either the individual contract or the portfolio as applicable.
Significant judgment is used to determine which contracts are grouped together to form a portfolio. The portfolio approach is utilized
only when the result of the accounting is not expected to be materially different than if applied to individual contracts.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s contracts are often
modified to account for changes in contract specifications and requirements. The Company considers contract modifications to exist
when the modification either creates new or changes the existing enforceable rights and obligations. The effect of a contract modification
on the transaction price, and the measure of progress for the performance obligation to which it relates, are recognized prospectively
when the remaining goods or services are distinct and on a cumulative catch-up basis when the remaining goods or services are not
distinct.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company also has contracts that are
considered point in time. Under the point in time revenue recognition model, revenue is recognized when control of the components
has transferred to the customer; in most cases this will be based on shipping terms.</p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Certain contracts contain forms of variable
consideration, such as price discounts and performance penalties. The Company generally estimates variable consideration using
the most likely amount based on an assessment of all available information (i.e., historical experience, current and forecasted
performance) and only to the extent it is probable that a significant reversal of revenue recognized will not occur when the uncertainty
is resolved.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In applying the cost-to-cost input method,
the Company compares the actual costs incurred relative to the total estimated costs expected at completion to determine its progress
towards satisfying its performance obligation and to calculate the corresponding amount of revenue to recognize. For any costs
incurred that do not depict the Company&#8217;s performance in transferring control of goods or services to the customer, the Company
excludes such costs from its input method measure of progress as the amounts are not reflected in the price of the contract. Costs
that are inputs to the satisfaction of a performance obligation include labor, materials and subcontractors&#8217; costs, other
direct costs and an allocation of indirect costs.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Changes to the original estimates may be
required during the life of the contract. Estimates are reviewed quarterly and the effect of any change in the total estimated
costs expected at completion for a contract is reflected in revenue in the period the change becomes known. ASC 606 involves considerable
use of estimates and judgment in determining revenues, costs and profits and in assigning the amounts to accounting periods. For
instance, management must make assumptions and estimates regarding labor productivity and availability, the complexity of the work
to be performed, the availability of materials, the length of time to complete the performance obligation, execution by subcontractors,
the availability and timing of funding from the customer, and overhead cost rates, among other variables. The Company continually
evaluates all of the factors related to the assumptions, risks and uncertainties inherent with the application of the cost-to-cost
input method; however, it cannot be assured that estimates will be accurate. If estimates are not accurate, or a contract is terminated
which will affect estimates at completion, the Company is required to adjust revenue in the period the change is determined.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">When changes are required for the estimated
total revenue on a contract, these changes are recognized on a cumulative catch-up basis in the current period. A significant change
in one or more estimates could affect the profitability of one or more of our performance obligations. If estimates of total costs
to be incurred exceed estimates of total consideration the Company expects to receive, a provision for the remaining loss on the
contract is recorded in the period in which the loss becomes evident.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>Capitalized Contract Acquisition Costs
and Fulfillment Costs</b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Contract acquisition costs are those incremental
costs that the Company incurs to obtain a contract with a customer that it would not have incurred if the contract had not been
obtained. The Company does not typically incur contract acquisition costs or contract fulfillment costs that are subject to capitalization
in accordance with the guidance in Accounting Standards Codification Subtopic 340-40, &#8220;Other Assets and Deferred Costs&#8212;Contracts
with Customers.&#8221;</p>

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



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

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

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

<p id="xdx_89B_eus-gaap--DisaggregationOfRevenueTableTextBlock_zItC4dXryWqg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="xdx_8B3_zkes6t9fFWtk">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">&#160;</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">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">2022</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">2022</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%">Aerostructures</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__srt--ProductOrServiceAxis__custom--AerostructureMember_zcq0PIDWEwYc" style="width: 12%; text-align: right" title="Revenue">8,425,795</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_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630__srt--ProductOrServiceAxis__custom--AerostructureMember_zutXV2Ys2e7l" style="width: 12%; text-align: right" title="Revenue">9,819,902</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--AerostructureMember_zVjrf0Q4CB0g" style="width: 12%; text-align: right" title="Revenue">18,499,320</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_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20220630__srt--ProductOrServiceAxis__custom--AerostructureMember_zJldrCNKZBQk" style="width: 12%; text-align: right" title="Revenue">19,006,695</td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td>Aerosystems</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__srt--ProductOrServiceAxis__custom--AerosystemsMember_z8pBJsFq9r29" style="text-align: right">7,567,883</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630__srt--ProductOrServiceAxis__custom--AerosystemsMember_z3SNbGVbixqd" style="text-align: right">5,984,045</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__srt--ProductOrServiceAxis__custom--AerosystemsMember_ze3fXeN0SRbf" style="text-align: right">17,120,134</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_c20220101__20220630__srt--ProductOrServiceAxis__custom--AerosystemsMember_zJD1LOpEqrV5" style="text-align: right">12,670,873</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">Kitting and Supply Chain Management</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--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__srt--ProductOrServiceAxis__custom--KittingAndSupplyChainManagementMember_zohBCNn8rim" style="border-bottom: Black 1pt solid; text-align: right">4,553,877</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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630__srt--ProductOrServiceAxis__custom--KittingAndSupplyChainManagementMember_zhW3Wwm70Rc8" style="border-bottom: Black 1pt solid; text-align: right">3,121,459</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_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__srt--ProductOrServiceAxis__custom--KittingAndSupplyChainManagementMember_zhaYSBeKNrFk" style="border-bottom: Black 1pt solid; text-align: right">6,944,769</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_c20220101__20220630__srt--ProductOrServiceAxis__custom--KittingAndSupplyChainManagementMember_zsGy6odbQ4M" style="border-bottom: Black 1pt solid; text-align: right">7,382,935</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_c20230401__20230630_z6lCJJ5igopf" 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_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630_z1lOtfS6iHji" style="border-bottom: Black 2.5pt double; text-align: right">18,925,406</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_c20230101__20230630_zP0zIs89Dr94" 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><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_c20220101__20220630_zMLdlvewiyT9" style="border-bottom: Black 2.5pt double; text-align: right">39,060,503</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
</table>

<p style="margin-top: 0; margin-bottom: 0">&#160;</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">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">2022</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">2022</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_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_z9Grj0QhLFL1" 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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zGsqCXSAv2li" style="width: 12%; text-align: right">16,565,696</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_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zta9WbToFS8j" style="width: 12%; text-align: right">39,300,073</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_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20220630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zofe1IZfLFgd" style="width: 12%; text-align: right">35,060,893</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_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zFDRvsmz8Fxc" 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_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zXnp6pcH0job" style="border-bottom: Black 1pt solid; text-align: right">2,359,710</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_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_z8bvt9zYIyW1" style="border-bottom: Black 1pt solid; text-align: right">3,264,150</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_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20220630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zilJg56KQdjh" style="border-bottom: Black 1pt solid; text-align: right">3,999,610</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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630_zdMkWP7BanVh" 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_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630_zzijgyX7tVG3" style="border-bottom: Black 2.5pt double; text-align: right">18,925,406</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_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630_zhugV1K7xKK9" 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><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_c20220101__20220630_zQd4Aoe5ibu1" style="border-bottom: Black 2.5pt double; text-align: right">39,060,503</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
</table>

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



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






<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b>Transaction Price Allocated to Remaining
Performance Obligations</b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">As of June 30, 2023, the aggregate amount
of transaction price allocated to the remaining performance obligations was approximately $<span id="xdx_900_eus-gaap--RevenueRemainingPerformanceObligation_iI_pn5n6_c20230630__us-gaap--RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis__2023-07-01_zmSxLMGL0we8" title="Remaining performance obligations">118.2</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, 2023. The majority of the Company&#8217;s performance obligations have an average duration up to approximately <span id="xdx_908_eus-gaap--RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_iI_dt_c20230630__us-gaap--RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis__2023-07-01_zJqt2GrgLi8k" title="Performance obligations duration">three
years</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>19
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415893906784">
<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, 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>
</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"><p id="xdx_801_ecustom--ContractWithCustomerAssetAndLiabilityTextBlock_zbNn7rMdn0ii" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: top">
    <td style="width: 48px; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>3.</b></span></td>
    <td id="xdx_822_zWPO9mDDZj5j" style="text-align: justify; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>CONTRACT ASSETS AND LIABILITIES</b></span></td></tr>
</table>

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

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 70%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" id="xdx_496_20230630_zQ9HjT39jDtk" style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" id="xdx_497_20221231_zndGjjupU4B4" style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>December 31,</b></span></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</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>&#160;</td>
    <td>&#160;</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>2022</b></span></td>
    <td>&#160;</td></tr>
<tr id="xdx_403_eus-gaap--ContractWithCustomerAssetNet_iI_maNCAz5zf_zF1lgIW2Dtf4" style="background-color: #CCEEFF">
    <td style="vertical-align: bottom; width: 40%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Contract assets</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</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">30,962,061</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td>
    <td style="vertical-align: bottom; width: 1%">&#160;</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: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">27,384,540</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td></tr>
<tr id="xdx_403_eus-gaap--ContractWithCustomerLiability_iI_msNCAz5zf_z21NM7soBdl2" 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">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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">8,605,354</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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">6,001,726</span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr id="xdx_400_ecustom--NetContractAssets_iTI_mtNCAz5zf_zf0QpYpqG9u7" style="background-color: #CCEEFF">
    <td style="vertical-align: bottom; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net Contract assets</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">22,356,707</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">21,382,814</span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
</table>

<p id="xdx_8AE_zZkFRCcOgDug" style="margin-top: 0; margin-bottom: 0">&#160;</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Revenue recognized for the six months ended
June 30, 2023 and 2022 that was included in the contract liabilities balance as of January 1, 2023 and 2022, respectively, was
approximately $<span id="xdx_904_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pn5n6_c20230101__20230630_z4oR21n6WW4j" title="Revenue recognized that was included in contract liabilities">1.9</span> million and $<span id="xdx_909_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pn5n6_c20220101__20220630_zLeOm91MEnTc">3.2</span> million, respectively.</p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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>20
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415892598144">
<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, 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>
</tr>
<tr class="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"><p id="xdx_804_eus-gaap--InventoryDisclosureTextBlock_zv2un6gc91Q1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: top">
    <td style="width: 48px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>4.</b></span></td>
    <td id="xdx_829_zaQ1YFgA5gf2" style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>INVENTORY</b></span></td></tr>
</table>

<p style="margin-top: 0; margin-bottom: 0">&#160;</p>
<p id="xdx_893_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zvk7RQZySoyf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="xdx_8BD_zyra91V6mprh">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">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 70%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td>&#160;</td>
    <td colspan="2" id="xdx_497_20230630_zTZXwrbUlRu4" style="border-bottom: black 1pt solid">
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>June 30, </b></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>2023</b></p></td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td colspan="2" id="xdx_491_20221231_z1xp1pndI741" style="border-bottom: black 1pt solid">
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>December 31,</b></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>2022</b></p></td>
    <td style="border-bottom: black 1pt solid">&#160;</td></tr>
<tr id="xdx_40E_eus-gaap--InventoryRawMaterials_iI_maIGzpSz_zwjpZHyFCYze" style="background-color: #CCEEFF">
    <td style="vertical-align: bottom; width: 40%; 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%">&#160;</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">1,822,930</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td>
    <td style="vertical-align: bottom; width: 1%">&#160;</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: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1,892,157</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td></tr>
<tr id="xdx_40C_eus-gaap--InventoryWorkInProcess_iI_maIGzpSz_zODG1BxsIE5a" 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">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">216,908</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">685,438</span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr id="xdx_409_eus-gaap--InventoryFinishedGoods_iI_maIGzpSz_zx59fbFTacSb" style="background-color: #CCEEFF">
    <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">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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">2,293,217</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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">3,038,859</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</td></tr>
<tr id="xdx_40A_eus-gaap--InventoryGross_iTI_mtIGzpSz_maINzM3w_zbVuRwFJHoW4" style="background-color: white">
    <td style="vertical-align: bottom; padding-left: 9pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Gross inventory</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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">4,333,055</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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">5,616,454</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</td></tr>
<tr id="xdx_400_eus-gaap--InventoryValuationReserves_iNI_di_msINzM3w_zCERClhClMfe" style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="padding-left: 9pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inventory reserves</span></td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2,414,149</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">&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(3,123,386</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_408_eus-gaap--InventoryNet_iTI_mtINzM3w_zwwDCNlUDDLc" style="vertical-align: bottom; background-color: white">
    <td style="padding-left: 9pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inventory, net</span></td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.5pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1,918,906</span></td>
    <td style="border-bottom: black 2.5pt double">&#160;</td>
    <td style="border-bottom: black 2.5pt double">&#160;</td>
    <td style="border-bottom: black 2.5pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2,493,069</span></td>
    <td style="border-bottom: black 2.5pt double">&#160;</td></tr>
</table>
<p id="xdx_8AB_zwsdQXB2jJml" 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>21
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415989284272">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>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"><p id="xdx_80A_eus-gaap--DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_zvHG8scIXm4j" style="margin-top: 0; margin-bottom: 0">&#160;</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: 48px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>5.</b></span></td>
    <td id="xdx_822_z0NlAeLJVAd3" style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>STOCK-BASED COMPENSATION</b></span></td></tr>
</table>

<p style="margin-top: 0; margin-bottom: 0">&#160;</p>
<p id="xdx_89D_eus-gaap--ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_zwzD8wWg4aRb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white"><span id="xdx_8B4_zBY5DzGGxCw1">Stock-based
compensation expense for restricted stock in the consolidated statements of operations is summarized as follows:</span></span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td id="xdx_499_20230401__20230630_zA6AYdzFTEte" style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td id="xdx_498_20220401__20220630_zbMiBtTK18yh" style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td id="xdx_495_20230101__20230630_zHI45STxUez2" style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td id="xdx_49B_20220101__20220630_z2vMMd9fmwZ8" style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</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></span><br/>
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></td>
    <td>&#160;</td>
    <td>&#160;</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></span><br/>
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</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>&#160;</td>
    <td>&#160;</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>2022</b></span></td>
    <td>&#160;</td>
    <td>&#160;</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>&#160;</td>
    <td>&#160;</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>2022</b></span></td>
    <td>&#160;</td></tr>
<tr id="xdx_40F_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--CostOfSalesMember_zKk4JxXX4TC9" style="background-color: #CCEEFF">
    <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%">&#160;</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%">&#160;</td>
    <td style="vertical-align: bottom; width: 1%">&#160;</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: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">6,471</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td>
    <td style="vertical-align: bottom; width: 1%">&#160;</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%">&#160;</td>
    <td style="vertical-align: bottom; width: 1%">&#160;</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: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">20,006</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td></tr>
<tr id="xdx_401_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--SellingGeneralAndAdministrativeExpensesMember_zOqkPyg1l92f">
    <td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Selling, general and administrative</span></td>
    <td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: bottom; background-color: white">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: top; background-color: white; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">143,045</span></td>
    <td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt">&#160;</td>
    <td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: bottom; background-color: white">&#160;</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">131,027</span></td>
    <td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt">&#160;</td>
    <td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: bottom; background-color: white">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: top; background-color: white; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">466,891</span></td>
    <td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt">&#160;</td>
    <td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: bottom; background-color: white">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: bottom; background-color: white; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">143,374</span></td>
    <td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt">&#160;</td></tr>
<tr id="xdx_40A_eus-gaap--AllocatedShareBasedCompensationExpense_zWmilNFzXT6h" style="background-color: white">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total stock-based compensation expense</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt 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">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">137,498</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt 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">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">163,380</span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
</table>

<p id="xdx_8A1_zOVBx3VYhCcc" style="margin-top: 0; margin-bottom: 0">&#160;</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="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 one-year period.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">The
Company grants shares of common stock (&#8220;Restricted Stock Awards&#8221;) to select employees. In the event that the employee&#8217;s
employment is voluntarily terminated prior to certain vesting dates, portions of the shares may be forfeited. In addition, if certain
Company performance criteria are not achieved, portions of these shares may be forfeited. <span id="xdx_90A_eus-gaap--StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited_pid_uShares_c20230101__20230630_zqOQpdAiSNo3" title="Shares forfeited">85,748</span> shares were forfeited during the
six months ended June 30, 2022, resulting in a reduction to stock-based compensation expense for the six months ended June 30,
2022 in selling, general and administrative expense of $<span id="xdx_90D_eus-gaap--AllocatedShareBasedCompensationExpense_iN_di_c20220101__20220630__us-gaap--AwardTypeAxis__custom--ForfeitedRestrictedStockMember__us-gaap--IncomeStatementLocationAxis__us-gaap--SellingGeneralAndAdministrativeExpensesMember_zEbYixE1R1Cd" title="Stock-based compensation">263,148</span>.</span></p>

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

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

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</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>Restricted Stock Awards</b></span></td>
    <td>&#160;</td>
    <td>&#160;</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"><b>Weighted Average</b></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>Grant Date</b></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>Fair Value of Restricted Stock
Awards</b></p></td>
    <td>&#160;</td>
    <td>&#160;</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>RSUs</b></span></td>
    <td>&#160;</td>
    <td>&#160;</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"><b>Weighted Average</b></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>Grant Date</b></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>Fair Value of RSUs</b></p></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="width: 39%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-vested &#8211; January 1, 2023</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td id="xdx_98D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iS_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zmGsKV6UJRw3" style="width: 12%; text-align: right" title="Non vested January 1, 2022"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">239,184</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_98E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zukYzmCr4wUj" style="width: 12%; text-align: right" title="Non vested January 1, 2022"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.32</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iS_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z8y2ta98CM91" style="width: 12%; text-align: right" title="Non vested January 1, 2022"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl0590">&#8212;</span></span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_984_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z9hsJbG8g9z9" style="width: 12%; text-align: right" title="Non vested January 1, 2022"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl0592">&#8212;</span></span></td>
    <td style="width: 1%">&#160;</td></tr>
<tr style="background-color: white">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Granted</span></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_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zdoDzWknwLXf" style="vertical-align: bottom; text-align: right" title="Granted"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">212,902</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zdYZirVOWsa4" style="vertical-align: bottom; text-align: right" title="Granted"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.82</span></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_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zkzJ20RVbCyl" style="vertical-align: bottom; text-align: right" title="Granted"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">170,042</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zFGYlVTkMySb" style="vertical-align: top; text-align: right" title="Granted"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.44</span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr style="background-color: #CCEEFF">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Vested</span></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_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_iN_pid_di_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zvWV4upBAF02" style="vertical-align: bottom; text-align: right" title="Vested"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(82,769)</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_z8tcZxoMvXac" style="vertical-align: bottom; text-align: right" title="Vested"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.83</span></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_984_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_iN_pid_di_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zF2HWXjck2r2" style="vertical-align: bottom; text-align: right" title="Vested"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(69,845</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">&#160;</td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_987_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z36NpoJKzlf9" style="vertical-align: top; text-align: right" title="Vested"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.42</span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr style="background-color: white">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Forfeited</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</td>
    <td id="xdx_986_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_iN_pid_di_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_z2iJznfvRpIf" style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: right" title="Forfeited"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl0610">&#8212;</span></span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zfszED32yA64" style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: right" title="Forfeited"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl0612">&#8212;</span></span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</td>
    <td id="xdx_98E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_iN_pid_di_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zEZWxYVV0w3b" style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: right" title="Forfeited"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(33,749</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">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_989_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zMUgvBekc9ei" style="border-bottom: black 1pt solid; vertical-align: top; text-align: right" title="Forfeited"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.42</span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr style="background-color: #CCEEFF">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-vested &#8211; June 30, 2023</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom">&#160;</td>
    <td id="xdx_983_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iE_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zVUz3xfOXGMi" style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right" title="Non vested December 31, 2022"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">369,317</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_983_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zNXbWeid3W87" style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right" title="Non vested December 31, 2022"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.25</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom">&#160;</td>
    <td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iE_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zl2vZUG58Fd3" style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right" title="Non vested December 31, 2022"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">66,448</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zdzwrBp4K97b" style="border-bottom: black 2.5pt double; vertical-align: top; text-align: right" title="Non vested December 31, 2022"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.47</span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
</table>

<p id="xdx_8A5_zIPQFiHTTz3g" style="margin-top: 0; margin-bottom: 0">&#160;</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">As
of June 30, 2023, unamortized stock-based compensation costs related to restricted share arrangements was $</span><span id="xdx_908_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_iI_c20230630_zpxKaJ7rHfP4" title="Unamortized stock-based compensation costs">514,880</span><span style="background-color: white">.</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>22
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415892633840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>FAIR VALUE<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [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_FairValueDisclosuresTextBlock', window );">FAIR VALUE</a></td>
<td class="text"><p id="xdx_807_eus-gaap--FairValueDisclosuresTextBlock_zvzJHT069o01" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: top">
    <td style="width: 48px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>6.</b></span></td>
    <td id="xdx_82F_zm8xOPTjFsmk" style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>FAIR VALUE</b></span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="text-decoration: underline">Fair Value</span></p>

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

<p id="xdx_89D_eus-gaap--FairValueByBalanceSheetGroupingTextBlock_ziLOxo1fZGYd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="xdx_8B8_zBcxLS6zvhNk">At June 30, 2023 and December 31, 2022,
the fair values of cash, accounts receivable and accounts payable approximated their carrying values because of the short-term
nature of these instruments.</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td>&#160;</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>June 30, 2023</b></span></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td>&#160;</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"><b>Carrying</b></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>Amount</b></p></td>
    <td>&#160;</td>
    <td>&#160;</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>Fair Value</b></span></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Debt</span></td>
    <td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="width: 74%; padding-left: 9pt; text-align: justify; text-indent: -9pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Short-term borrowings and long-term debt</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_988_eus-gaap--DebtInstrumentFairValue_iI_c20230630__us-gaap--FairValueByMeasurementBasisAxis__us-gaap--CarryingReportedAmountFairValueDisclosureMember_zsXV5bw5zxTl" style="border-bottom: black 2.5pt double; width: 10%; text-align: right" title="Short-term borrowings and long-term debt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">21,262,656</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_986_eus-gaap--DebtInstrumentFairValue_iI_c20230630__us-gaap--FairValueByMeasurementBasisAxis__us-gaap--EstimateOfFairValueFairValueDisclosureMember_zjc9ksZIKFWi" style="border-bottom: black 2.5pt double; width: 10%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">21,262,656</span></td>
    <td style="width: 1%">&#160;</td></tr>
<tr>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
</table>
<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</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>December 31, 2022</b></span></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td>&#160;</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"><b>Carrying</b></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>Amount</b></p></td>
    <td>&#160;</td>
    <td>&#160;</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>Fair Value</b></span></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Debt</span></td>
    <td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="width: 74%; padding-left: 9pt; text-align: justify; text-indent: -9pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Short-term borrowings and long-term debt</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_988_eus-gaap--DebtInstrumentFairValue_iI_c20221231__us-gaap--FairValueByMeasurementBasisAxis__us-gaap--CarryingReportedAmountFairValueDisclosureMember_zYl79NiaxwZf" style="border-bottom: black 2.5pt double; width: 10%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">22,790,747</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_985_eus-gaap--DebtInstrumentFairValue_iI_c20221231__us-gaap--FairValueByMeasurementBasisAxis__us-gaap--EstimateOfFairValueFairValueDisclosureMember_z5uraTkpJp8a" style="border-bottom: black 2.5pt double; width: 10%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">22,790,747</span></td>
    <td style="width: 1%">&#160;</td></tr>
<tr>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
</table>
<p id="xdx_8AB_z5CrvPvwIGsa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">We estimated the fair value of debt using market quotes and
calculations based on market rates.</p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415892804176">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME PER COMMON SHARE<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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>
</tr>
<tr class="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 );">INCOME PER COMMON SHARE</a></td>
<td class="text"><p id="xdx_809_eus-gaap--EarningsPerShareTextBlock_zx9ABMoSH1t5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&#160;</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: 48px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>7.</b></span></td>
    <td id="xdx_820_zJEXw7B1bY53" style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>INCOME PER COMMON SHARE</b></span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company complies with the accounting
and disclosure requirements of FASB ASC Topic 260, &#8220;Earnings Per Share&#8221; and uses the two-class method in the calculation
of earnings per share. Net income per common share is computed by dividing net income by the weighted average number of common
shares outstanding during the period. During the three months and six months ended June 30, 2023 and 2022, respectively, and as
of June 30, 2023 and 2022, respectively, the Company had restricted shares of common stock that were considered participating securities
and unrestricted shares of common stock outstanding. Earnings and losses are shared pro rata.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">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. Incremental shares of <span id="xdx_905_eus-gaap--IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_pid_uShares_c20230401__20230630_zIQx5pNrP1dk" title="Incremental shares used in calculation of diluted income per common share"><span id="xdx_909_eus-gaap--IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_pid_uShares_c20230101__20230630_ztXdIK90wmTi" 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.</p>

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

<p id="xdx_897_eus-gaap--ScheduleOfEarningsPerShareBasicByCommonClassTextBlock_zFAxSjLsIWyk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 1.45pt 0pt 0; text-align: justify"><span id="xdx_8B4_zZ66jAo4sKx">For the three and six months
ended June 30, 2023 and 2022, respectively, our income per common share was calculated as follows:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td id="xdx_49C_20230401__20230630_zxLA6vMfkhOh" style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td id="xdx_498_20220401__20220630_z8Wv36sOdzEd" style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td id="xdx_49C_20230101__20230630_zZxGxW7PR5i6" style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td id="xdx_490_20220101__20220630_zKmidXad0GTd" style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</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></span><br/>
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></td>
    <td>&#160;</td>
    <td>&#160;</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></span><br/>
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</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>&#160;</td>
    <td>&#160;</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>2022</b></span></td>
    <td>&#160;</td>
    <td>&#160;</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>&#160;</td>
    <td>&#160;</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>2022</b></span></td>
    <td>&#160;</td></tr>
<tr id="xdx_40E_eus-gaap--NetIncomeLoss_zwPPH9Th8jy8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net income </span></td>
    <td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1,157,076</span></td>
    <td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">517,636</span></td>
    <td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2,140,381</span></td>
    <td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">484,705</span></td>
    <td style="width: 1%; padding-bottom: 2.5pt">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_408_eus-gaap--EarningsPerShareBasicAbstract_iB_zGc5YlYMdYmj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Income per common share, basic:</span></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income per common share-unrestricted shares</span></td>
    <td>&#160;</td>
    <td>$</td>
    <td id="xdx_98E_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20230401__20230630__us-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_zEO231fYUtwf" style="text-align: right" title="Income (loss) per common share, basic"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">0.09</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>$</td>
    <td id="xdx_989_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20220401__20220630__us-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_z2bW7HRd4K95" style="text-align: right" title="Income (loss) per common share, basic"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">0.04</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>$</td>
    <td id="xdx_98D_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20230101__20230630__us-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_zauk7ci2bdfg" style="text-align: right" title="Income (loss) per common share, basic"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">0.17</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>$</td>
    <td id="xdx_98A_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20220101__20220630__us-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_zd2soJbaiMcc" style="text-align: right" title="Income (loss) per common share, basic"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">0.04</span></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income per common share-restricted shares</span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid">$</td>
    <td id="xdx_982_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20230401__20230630__us-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_zQ4BLaBMfyu6" style="border-bottom: Black 1pt solid; text-align: right" title="Income (loss) per common share, basic"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">0.09</span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid">$</td>
    <td id="xdx_98A_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20220401__20220630__us-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_zYCslTjPsTml" style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">0.04</span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid">$</td>
    <td id="xdx_98E_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20230101__20230630__us-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_zsm7ZhXcy8p3" style="border-bottom: Black 1pt solid; text-align: right" title="Income (loss) per common share, basic"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">0.17</span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid">$</td>
    <td id="xdx_98B_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20220101__20220630__us-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_z9q6CvIlBtJg" style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">0.04</span></td>
    <td style="padding-bottom: 1pt">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_406_eus-gaap--EarningsPerShareDilutedAbstract_iB_zkoZIfYVA5r3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income per common share, diluted</span></td>
    <td>&#160;</td>
    <td>$</td>
    <td id="xdx_98D_eus-gaap--EarningsPerShareDiluted_i01_pp2p0_c20230401__20230630_z12RDg7XWBx7" style="text-align: right" title="Income (loss) per common share, diluted"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">0.09</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>$</td>
    <td id="xdx_983_eus-gaap--EarningsPerShareDiluted_i01_pp2p0_c20220401__20220630_zbFs3470O5Mk" style="text-align: right" title="Income (loss) per common share, diluted"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">0.04</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>$</td>
    <td id="xdx_986_eus-gaap--EarningsPerShareDiluted_i01_pp2p0_c20230101__20230630_zTnYsZqHJ078" style="text-align: right" title="Income (loss) per common share, diluted"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">0.17</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>$</td>
    <td id="xdx_98A_eus-gaap--EarningsPerShareDiluted_i01_pp2p0_c20220101__20220630_zbmjfGqOumZ" style="text-align: right" title="Income (loss) per common share, diluted"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">0.04</span></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_409_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasicAbstract_iB_zaxngZjU6bx6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Shares used in computing income per common share, basic:</span></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_409_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_i01_pp0p0_hus-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_z6NiJSSfIAh2" style="vertical-align: bottom; background-color: White">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Unrestricted shares</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12,429,894</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12,305,939</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12,412,068</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12,275,306</span></td>
    <td>&#160;</td></tr>
<tr id="xdx_406_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_i01_pp0p0_hus-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_zTPPMjkExAa7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Restricted shares</span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">128,899</span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">133,061</span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">127,584</span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">125,975</span></td>
    <td style="padding-bottom: 1pt">&#160;</td></tr>
<tr id="xdx_404_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_i01_pp0p0_zRMu4KeMmj4d" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total shares</span></td>
    <td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12,558,793</span></td>
    <td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12,439,000</span></td>
    <td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12,539,652</span></td>
    <td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12,401,281</span></td>
    <td style="padding-bottom: 2.5pt">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_40A_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_pp0p0_uShares_z36FB1oQQOgk" style="vertical-align: bottom; background-color: White">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Shares used in computing income per common share, diluted</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12,625,241</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12,534,058</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12,606,100</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12,496,339</span></td>
    <td>&#160;</td></tr>
</table>

<p id="xdx_8AE_zvzpqKri3817" 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_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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415892804176">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>DEBT<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_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 );">DEBT</a></td>
<td class="text"><p id="xdx_803_eus-gaap--LongTermDebtTextBlock_zPbzBzM5jQUe" style="margin-top: 0; margin-bottom: 0">&#160;</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: 48px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>8.</b></span></td>
    <td id="xdx_823_zeqAJhB6QjSc" style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>DEBT</b></span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">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_zrdd7Zzy7z5i" 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_zF8qEyD4Tne7" 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.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">On March 23, 2023, the Company entered
into a Twelfth Amendment to the Credit Agreement (the &#8220;Twelfth Amendment&#8221;). Under the Twelfth Amendment, the parties
amended the Credit Agreement by : (a) extending the maturity date of the Company&#8217;s existing revolving line of credit and
its existing term loan to <span id="xdx_90B_eus-gaap--LineOfCreditFacilityExpirationDate1_dd_c20230321__20230323__us-gaap--CreditFacilityAxis__custom--RevolvingLoanAndTermLoanMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zgdfTlSfnbH3" title="Expiration date">November 30, 2024</span> (under the terms of the Credit Agreement, the outstanding principal balance of the
term loan was repaid by June 30, 2023); (b) providing for reduction of the aggregate maximum principal amount of all revolving
line of credit loans to $<span id="xdx_906_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20230323__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodOneMember_zPQAFEIn5m3b" title="Line of credit facility, maximum borrowing capacity">20,520,000</span> from October 1, 2023 through December 31, 2023, $<span id="xdx_905_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20230323__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodTwoMember_zES6YonAY28" title="Line of credit facility, maximum borrowing capacity">19,800,000</span> from January 1, 2024 through June
30, 2024, $19,080,000 from April 1, 2024 through June 30, 2024, $18,360,000 from July 1, 2024 through September 30, 2024, and $<span id="xdx_908_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20230323__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodThreeMember_zAnqPEDAWodi" title="Line of credit facility, maximum borrowing capacity">17,640,000</span>
from October 1, 2024 and 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; and (c) payment of a $<span id="xdx_900_ecustom--AmendmentFee_pp0p0_c20230321__20230323__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zPubCzybXg75">250,000</span> capitalized fee incurred in connection with the Eighth Amendment
to the Credit Agreement, which the Company entered into on October 28, 2021 in two installments,
the first installment paid on June 1, 2023 in the amount of $<span id="xdx_907_ecustom--AmendmentFee_pp0p0_c20230321__20230323__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--FirstInstallmentMember_zpVK1WFUQa4d">116,667</span> and the second installment paid July 1, 2023 in the amount
of $<span id="xdx_904_ecustom--AmendmentFee_pp0p0_c20230321__20230323__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--SecondInstallmentMember_zfjPl3jdHg21">133,333</span>, together with all unpaid interest accrued at the term loan interest rate on the capitalized fee through each such
date (the installments and interest accrued were paid on such dates).</p>

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



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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">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_90A_ecustom--MinimumDebtServiceCoverageRatio_iI_pip0_uPure_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zHEoVHdQYNEa" 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_90D_ecustom--MaximumLeverageRatio_iI_pip0_uPure_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zofhSAXWVoo6">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_903_ecustom--NetIncomeRequiredUnderAgreement_pip0_c20230101__20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__srt--RangeAxis__srt--MinimumMember_zuHMauXDxXV2" 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_906_ecustom--MinimumAdjustedEbitda_pn5n6_c20230101__20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zCxQCUNP3189" title="Minimum adjusted EBITDA">1</span>.0 million. The additional principal payments, increase in interest and the
Amendment Fee provided for in the Eight Amendment and Ninth Amendment to the Credit Agreement, which the Company entered into on
April 12, 2022 are excluded for purposes of calculating compliance with each of the financial covenants.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The BankUnited Facility is secured by all
of the Company&#8217;s assets and both the Revolving Loan and Term Loan bear interest at the Prime Rate + <span id="xdx_90A_eus-gaap--DebtInstrumentBasisSpreadOnVariableRate1_pid_dp_uPure_c20230101__20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__custom--RevolvingLoanAndTermLoanMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember_z0SXMnwcyW7b" title="Prime rate Plus">3.50</span>%. The Prime Rate
was <span id="xdx_909_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20230630__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember_zQTHcYAb1wed">8.25</span>% as of June 30, 2023 and as such, the Company&#8217;s interest rate on the Revolving Loan and Term Loan was <span id="xdx_906_eus-gaap--LongTermDebtPercentageBearingVariableInterestRate_iI_pid_dp_uPure_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__custom--RevolvingLoanAndTermLoanMember_znBxqI621ZTd" title="Interest rate">11.75</span>% as
of June 30, 2023.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">As of June 30, 2023 and December 31, 2022,
the Company had $<span id="xdx_908_eus-gaap--LineOfCredit_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zUaBI9czeEN4" title="Outstanding loans"><span id="xdx_90A_eus-gaap--LineOfCredit_iI_pp0p0_c20221231__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zip1LV8z5OKa" title="Outstanding loans">21,000,000</span></span> million outstanding under the Revolving Loan. $<span id="xdx_909_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zk9F061sP7z7" title="Current portion of line of credit">2,640,000</span> of the Revolving Loan is payable by June 30,
2024 and the remaining balance of $<span id="xdx_907_eus-gaap--LongTermLineOfCredit_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zmIrDrcWfzQd" title="Line of credit">18,360,000</span> of the revolving line of credit matures and is payable by November 30, 2024.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Term Loan had an aggregate principal
amount of $<span id="xdx_901_eus-gaap--DebtInstrumentCarryingAmount_iI_pp0p0_c20230630__us-gaap--CreditFacilityAxis__custom--TermLoanMember_z3rzbXrvcW0l" title="Aggregate principal amount">133,333</span>, payable in monthly installments, as defined in the Credit Agreement, as of June 30, 2023 as compared to an
aggregate principal amount outstanding as of December 31, 2022 of $<span id="xdx_905_eus-gaap--DebtInstrumentCarryingAmount_iI_pp0p0_c20221231__us-gaap--CreditFacilityAxis__custom--TermLoanMember_zYBsBHQc7gb7" title="Aggregate principal balance">1,583,333</span>.</p>

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

<p id="xdx_898_eus-gaap--ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_zxGT6qVX5xma" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="xdx_8B3_zHee8dp3iCdl">The maturities of long-term debt (excluding
unamortized debt issuance costs) are as follows:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 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>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" id="xdx_495_20230630_zJ5db5W3aVBf" style="text-align: center">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_402_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear_iI_maLTDzhnE_z279lG9HrR3c" style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="width: 31%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Remainder of 2023</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="width: 15%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">181,827</span></td>
    <td style="width: 1%">&#160;</td></tr>
<tr id="xdx_404_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_iI_maLTDzhnE_zIjaCc4aSlV9" style="vertical-align: bottom; background-color: white">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2024</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">51,801</span></td>
    <td>&#160;</td></tr>
<tr id="xdx_408_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_iI_maLTDzhnE_zdfuGNhLjFD2" style="vertical-align: bottom; background-color: #CCEEFF">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2025</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">29,028</span></td>
    <td>&#160;</td></tr>
<tr id="xdx_403_eus-gaap--LongTermDebt_iTI_mtLTDzhnE_zYNLxufLz4m" style="vertical-align: bottom; background-color: white">
    <td><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>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.5pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">262,656</span></td>
    <td>&#160;</td></tr>
</table>
<p id="xdx_8A3_z0f6Hilp1zqj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">Included in long-term debt are financing
leases and other notes payable of $<span id="xdx_903_eus-gaap--LongTermDebtAndCapitalLeaseObligations_iI_pp0p0_c20230630_zv5YYqvNyiPj" title="Financing leases and notes payable">129,323</span> and $<span id="xdx_906_eus-gaap--LongTermDebtAndCapitalLeaseObligations_iI_pp0p0_c20221231_zdSHp8lgDfac">207,414</span> at June 30, 2023 and December 31, 2022, respectively, including a current
portion of $<span id="xdx_906_eus-gaap--LongTermDebtAndCapitalLeaseObligationsCurrent_iI_pp0p0_c20230630_zMKC8Z2ng175" title="Financing leases and notes payable current">87,838</span> and $<span id="xdx_90A_eus-gaap--LongTermDebtAndCapitalLeaseObligationsCurrent_iI_pp0p0_c20221231_zujdMDf7lmxj">136,433</span>, respectively.</p>

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



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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company has cumulatively paid approximately
$<span id="xdx_904_eus-gaap--PaymentsOfDebtIssuanceCosts_pp0p0_c20160325__20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zgst7bD4Fmuc" 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_90D_eus-gaap--DeferredFinanceCostsNoncurrentNet_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zivVpL43DHZ" title="Debt issuance costs">126,000</span> is included in
other assets at June 30, 2023.</p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415892864512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>MAJOR CUSTOMERS<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_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</a></td>
<td class="text"><p id="xdx_80A_eus-gaap--ConcentrationRiskDisclosureTextBlock_zu0HnHJvyvC8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: top">
    <td style="width: 3%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>9.</b></span></td>
    <td id="xdx_828_z2QOVh3AbVJf" style="width: 97%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>MAJOR CUSTOMERS</b></span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">During the six months ended June 30, 2023,
our two largest customers accounted for <span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zCCbUIRbmjqj" title="Concentration risk, percentage">32</span>% and <span id="xdx_90D_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zim92Cbg1jLb" title="Concentration risk, percentage">29</span>% of revenue. During the six months ended June 30, 2022, our three largest customers
accounted for <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zBDH1Q9n539b">36</span>%, <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zioK5xOyZA3h">14</span>% and <span id="xdx_906_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zWHXLRm8BbXe">11</span>% of revenue.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">At June 30, 2023, <span id="xdx_90C_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zZVxSLXicKg1">22</span>%, <span id="xdx_90B_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zimVR4jzXsLd" title="Concentration Risk, Percentage">19</span>%, <span id="xdx_907_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zirRcW94cDu9" title="Concentration Risk, Percentage">17</span>% and <span id="xdx_90C_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFourMember_zPEhJwQHt9Ih" title="Concentration Risk, Percentage">15</span>%
of our contract assets were from four of our largest customers. At December 31, 2022, <span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_z5pc7I6Dj6V">27</span>%, <span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zAqwNakqpmHe">20</span>%, <span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zwGNls4ocAE8">16</span>%, and <span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFourMember_z3dV7EWgpbt">16</span>% of our contract assets
were related to our four largest customers.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">At June 30, 2023, <span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zTKLRXPvtLK5" title="Concentration Risk, Percentage">22</span>%, <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zdsve9iIRgu9" title="Concentration Risk, Percentage">17</span>%, <span id="xdx_90C_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zkRz5w6uRmTj" title="Concentration Risk, Percentage">13</span>%, <span id="xdx_90F_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFourMember_zrTtLLzqLLTh" title="Concentration Risk, Percentage">11</span>% and
<span id="xdx_90F_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFiveMember_zHvUGyEG2Bna" title="Concentration Risk, Percentage">10</span>% of our accounts receivable were from five of our largest customers. At December 31, 2022, <span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zh2Ef0pGztNh">38</span>%, <span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_ze2x7QWcX0U1">21</span>%, <span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zsLgd6GKA0e">17</span>%, and <span id="xdx_907_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFourMember_ztlLGWT3YGul">13</span>% of accounts
receivable were due from our four largest customers.</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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415891996496">
<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, 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>
</tr>
<tr class="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"><p id="xdx_80F_eus-gaap--LesseeOperatingLeasesTextBlock_zq9iAGwtWTda" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: top">
    <td style="width: 48px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>10.</b></span></td>
    <td id="xdx_824_zJbFckflrpp3" style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>LEASES</b></span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">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_904_eus-gaap--LeaseExpirationDate1_c20230101__20230630_zLXdsowMGf44" 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.</p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">For the six months ended June 30, 2023
and 2022, the Company&#8217;s operating lease expense was $<span id="xdx_903_eus-gaap--OperatingLeaseCost_c20230101__20230630_zoeHpAgOrRZ4" title="Operating lease expense">1,084,968</span> and $<span id="xdx_90F_eus-gaap--OperatingLeaseCost_c20220101__20220630_z8rv72bc6BUc" title="Operating lease expense">1,051,911</span>, respectively. For the three months ended June
30, 2023 and 2022, the Company&#8217;s operating lease expense was $<span id="xdx_90D_eus-gaap--OperatingLeaseCost_c20230401__20230630_zHfoL2JRDqF" title="Operating lease expense">550,942</span> and $<span id="xdx_90D_eus-gaap--OperatingLeaseCost_c20220401__20220630_zGejoTbcukQ7" title="Operating lease expense">516,920</span>, respectively.</p>

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

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

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>For the Year Ending December 31,</b></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" id="xdx_49D_20230630_zOaKCwPm8hAe" style="text-align: justify">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maOLFMPzv5G_zMYwLjB1ph21" style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="width: 86%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Remainder of 2023</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="width: 10%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1,096,220</span></td>
    <td style="width: 1%">&#160;</td></tr>
<tr id="xdx_403_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maOLFMPzv5G_zhivs9pjlRpe" style="vertical-align: bottom; background-color: white">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2024</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2,228,784</span></td>
    <td>&#160;</td></tr>
<tr id="xdx_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maOLFMPzv5G_zNor4RyUc2w8" style="vertical-align: bottom; background-color: #CCEEFF">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2025</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2,283,354</span></td>
    <td>&#160;</td></tr>
<tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_maOLFMPzv5G_zC4uHLYeEp77" style="vertical-align: bottom; background-color: white">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2026</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">850,276</span></td>
    <td>&#160;</td></tr>
<tr id="xdx_407_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFour_iI_maOLFMPzv5G_zEk1cpY66KV2" style="vertical-align: bottom; background-color: #CCEEFF">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2027</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">111,065</span></td>
    <td>&#160;</td></tr>
<tr id="xdx_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_iI_maOLFMPzv5G_z7dRFbYbLm23" style="vertical-align: bottom; background-color: white">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Thereafter</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">9,228</span></td>
    <td>&#160;</td></tr>
<tr id="xdx_403_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtOLFMPzv5G_zJMVwJF3uVHj" style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="padding-left: 9pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total undiscounted operating lease payments</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">6,578,927</span></td>
    <td>&#160;</td></tr>
<tr id="xdx_402_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zexsJFJdjrr9" style="vertical-align: bottom; background-color: white">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Less imputed interest </span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(536,037</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td></tr>
<tr id="xdx_408_eus-gaap--OperatingLeaseLiability_iI_zwZ2QR5bFBAf" style="vertical-align: bottom; background-color: #CCEEFF">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Present value of operating lease payments</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.5pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">6,042,890</span></td>
    <td>&#160;</td></tr>
</table>
<p id="xdx_8A9_zhNHNK6DfNJ1" 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>

<p id="xdx_899_ecustom--LesseeOperatingLeasesTableTextBlock_zJScyRalZjl5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="xdx_8B7_zx0SdYWZWfjc">The following table sets forth the ROU
assets and operating lease liabilities as of:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" id="xdx_49D_20230630_zzsKaXD0ILn5" 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></span><br/>
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2023</b></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" id="xdx_493_20221231_zvqeZx4kCwBe" 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></span><br/>
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2022</b></span></td>
    <td>&#160;</td></tr>
<tr id="xdx_409_eus-gaap--AssetsAbstract_iB_zqwiKBF9G1u" style="vertical-align: bottom">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Assets</b></span></td>
    <td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_409_eus-gaap--OperatingLeaseRightOfUseAsset_i01I_zKQr19tgFTFe" style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="width: 74%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ROU assets, net</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; width: 11%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">5,646,483</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; width: 9%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">6,526,627</span></td>
    <td style="width: 1%">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: white">
    <td style="text-align: justify">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_40E_eus-gaap--LiabilitiesAbstract_iB_z1Gdx0pIOia4" style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Liabilities</b></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_402_eus-gaap--OperatingLeaseLiabilityCurrent_i01I_maOLLzT6D_maOLLzzJK_zKZQQ9qhg8k2" style="background-color: white">
    <td style="vertical-align: bottom; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Current operating lease liabilities</span></td>
    <td style="vertical-align: bottom">&#160;</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">1,921,803</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</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">1,817,811</span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr id="xdx_408_eus-gaap--OperatingLeaseLiabilityNoncurrent_i01I_maOLLzT6D_maOLLzzJK_zhlgBDyKIUbi" style="background-color: #CCEEFF">
    <td style="vertical-align: bottom; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Long-term operating lease liabilities</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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">4,121,087</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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">5,077,235</span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr id="xdx_404_eus-gaap--OperatingLeaseLiability_i01TI_mtOLLzT6D_mtOLLzzJK_zqNBfIxWu4r9" style="background-color: white">
    <td style="vertical-align: bottom; padding-left: 9pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total lease liabilities</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">6,042,890</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">6,895,046</span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
</table>

<p id="xdx_8A3_zvqrPPmvOMsk" style="margin-top: 0; margin-bottom: 0">&#160;</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company&#8217;s weighted average remaining
lease term for its operating leases is <span id="xdx_903_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20230630_zl8oWSeSYP69" title="Weighted average remaining lease term operating leases">2.9</span> years as of June 30, 2023. The Company&#8217;s weighted average discount rate for its
operating leases is <span id="xdx_904_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_pid_dp_uPure_c20230630_z7piCcKfENPi" title="Weighted average discount rate for its operating leases">5.4</span>% as of June 30, 2023.</p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415892633840">
<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, 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>
</tr>
<tr class="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"><p id="xdx_806_eus-gaap--IncomeTaxDisclosureTextBlock_zTAoKrJT1c4c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: top">
    <td style="width: 48px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>11.</b></span></td>
    <td id="xdx_821_zT36b0701Kt8" style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>INCOME TAXES</b></span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">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.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The provision for income tax for the six
months ended June 30, 2023 and 2022 was $<span id="xdx_908_eus-gaap--IncomeTaxExpenseBenefit_c20230101__20230630_zmsFlK7AfAfc" title="Provision for income taxes">298,046</span> and $<span id="xdx_90E_eus-gaap--IncomeTaxExpenseBenefit_c20220101__20220630_zHvTcSLmQ0B9" title="Provision for income taxes">7,500</span>, respectively. The provision for income tax for the three months ended
June 30, 2023 and 2022 was $<span id="xdx_904_eus-gaap--IncomeTaxExpenseBenefit_c20230401__20230630_zHUgt0OnTxp7" title="Provision for income taxes">98,789</span> and $<span id="xdx_90F_eus-gaap--IncomeTaxExpenseBenefit_c20220401__20220630_z47BUPYnSIF3" title="Provision for income taxes">6,225</span>, respectively. The increase in the year-over-year provision for income tax is the
result of the Company&#8217;s valuation allowance on its deferred tax asset being partially released at December 31, 2022, resulting
in the periodic change in the deferred asset for the periods subsequent to December 31, 2022 being recorded through the Company&#8217;s
statement of operations during such periods. For the three and six months ending June 30, 2022 the company&#8217;s deferred tax
assets were fully offset by the valuation allowance, therefore there was only minimum state tax income expense recorded to the
Company&#8217;s statement of operations during those periods.</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The effective income tax rate for the six
months ended June 30, 2023 is <span id="xdx_908_eus-gaap--EffectiveIncomeTaxRateContinuingOperations_pid_dp_uPure_c20230101__20230630_zkcFNPJNmnfc" 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_907_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_c20230101__20230630_zCQBOaINHHT7" title="Statutory income tax rate">21</span>% for the six months ended June 30, 2023 is due to the estimated R&amp;D credit, the partial
release of approximately $<span id="xdx_904_eus-gaap--ValuationAllowanceDeferredTaxAssetChangeInAmount_iN_di_c20230101__20230630_z662e1ulrdtk" 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.</p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//740/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-14<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-21<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482526/740-270-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482603/740-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415891996496">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies 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"><p id="xdx_80A_eus-gaap--CommitmentsAndContingenciesDisclosureTextBlock_zxPTVqBj7hSe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: top">
    <td style="width: 48px"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>12.</b></span></td>
    <td id="xdx_824_zgKpDDzuhhhd" style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>COMMITMENTS AND CONTINGENCIES</b></span></td></tr>
<tr style="vertical-align: top">
    <td>&#160;</td>
    <td style="text-align: justify">&#160;</td></tr>
</table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white"><b>Class
Action Lawsuit</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">A
consolidated class action lawsuit (captioned <i>Rodriguez v. CPI Aerostructures, Inc., et al.</i>, No. 20-cv-01026) was filed in
the U.S. District Court for the Eastern District of New York against the Company, Douglas McCrosson, the Company&#8217;s former
Chief Executive Officer, Vincent Palazzolo, the Company&#8217;s former Chief Financial Officer, and the two underwriters of the
Company&#8217;s October 16, 2018 offering of common stock, Canaccord Genuity LLC and B. Riley FBR. The Amended Complaint in the
action asserted claims on behalf of two plaintiff classes: (i) purchasers of the Company&#8217;s common stock issued pursuant to
and/or traceable to the Company&#8217;s offering conducted on or about October 16, 2018; and (ii) purchasers of the Company&#8217;s
common stock between March 22, 2018 and February 14, 2020. The Amended Complaint alleged that the defendants violated Sections
11, 12(a)(2), and 15 of the Securities Act by negligently permitting false and misleading statements to be included in the Company&#8217;s
registration statement and prospectus supplements issued in connection with the Company&#8217;s October 16, 2018 securities offering.
The Amended Complaint also alleged that the defendants violated Sections 10(b) and 20(a) of the Securities Exchange Act of 1934,
as amended (the &#8220;Exchange Act&#8221;), and Rule 10b-5 promulgated by the SEC, by making false and misleading statements in
the Company&#8217;s periodic reports filed between March 22, 2018 and February 14, 2020. Plaintiff sought unspecified compensatory
damages, including interest; rescission or a rescissory measure of damages; unspecified equitable or injunctive relief; and costs
and expenses, including attorney&#8217;s fees and expert fees. On February 19, 2021, the Company moved to dismiss the Amended Complaint.
Plaintiff submitted a brief in opposition to the motion to dismiss on April 23, 2021. </span></p>

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



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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">On
May 20, 2021, the parties reached a settlement in the amount of $<span id="xdx_900_eus-gaap--LitigationSettlementAmountAwardedToOtherParty_c20210519__20210520_zrz9Mryt95Tg" title="Settlement amount">3,600,000</span> (the &#8220;Settlement Amount&#8221;), subject to court
approval. On July 9, 2021, plaintiff filed an unopposed motion for preliminary approval of the settlement. On November 10, 2021,
a magistrate judge recommended that the court grant the motion for preliminary approval in its entirety. The court adopted the
recommendation on May 27, 2022, and entered an order granting preliminary approval of the settlement on June 7, 2022. On August
5, 2022, plaintiff filed an unopposed motion for final approval. The magistrate judge held a hearing on the final approval motion
on September 9, 2022. On February 16, 2023, the magistrate judge recommended that the Court grant the final approval motion in
its entirety. The Court adopted that recommendation in its entirety on March 10, 2023, and terminated the case on March 13, 2023.
On May 5, 2023, the Settlement Amount was transferred to plaintiff&#8217;s counsel from the escrow account established for this
purpose.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><span style="background-color: white"><b>Shareholder Derivative
Action</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">Four
shareholder derivative actions, each based on substantially the same facts as those alleged in the class action discussed above,
have been filed against certain current and former members of our board of directors and certain of our current and former officers.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">The
first action (captioned <i>Moulton v. McCrosson, et.al.</i>, No. 20-cv-02092) was filed on May 7, 2020, in the U.S. District Court
for the Eastern District of New York. It purports to assert derivative claims against the individual defendants for violations
of Section 10(b) and 21D of the Exchange Act, breach of fiduciary duty, and unjust enrichment and seeks to recover on behalf of
the Company for any liability the Company might incur as a result of the individual defendants&#8217; alleged misconduct. The complaint
also seeks declaratory, equitable, injunctive, and monetary relief, as well as attorneys&#8217; fees and other costs. On October
26, 2020, plaintiff filed an amended complaint. On January 27, 2021, the court stayed the action pursuant to a joint stipulation
filed by the parties.</span></p>





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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">The
second action (captioned <i>Woodyard v. McCrosson, et al.</i>, Index No. 613169/2020) was filed on September 17, 2020, in the Supreme
Court of the State of New York (Suffolk County). It purports to assert derivative claims against the individual defendants for
breach of fiduciary duty and unjust enrichment, and seeks to recover on behalf of the Company for any liability the Company might
incur as a result of the individual defendants&#8217; alleged misconduct, along with declaratory, equitable, injunctive and monetary
relief, as well as attorneys&#8217; fees and other costs. On December 22, 2020, the parties filed a joint stipulation staying the
action pending further developments in the class action.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">The
third action (captioned <i>Berger v. McCrosson, et al.</i>, No. 1:20-cv-05454) was filed on November 10, 2020, in the U.S. District
Court for the Eastern District of New York. The complaint, which is based on the shareholder&#8217;s inspection of certain corporate
books and records, purports to assert derivative claims against the individual defendants for breach of fiduciary duty and unjust
enrichment, and seeks to implement reforms to the Company&#8217;s corporate governance and internal procedures and to recover on
behalf of the Company an unspecified amount of monetary damages. The complaint also seeks equitable, injunctive, and monetary relief,
as well as attorneys&#8217; fees and other costs.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">On
March 19, 2021, the parties to the <i>Moulton and Berger</i> actions filed a joint stipulation consolidating the actions (under
the caption <i>In re CPI Aerostructures Stockholder Derivative Litigation</i>, No. 20-cv-02092) and staying the consolidated action
pending further developments in the class action.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">The
fourth action (captioned <i>Wurst, et al. v. Bazaar, et al.</i>, Index No. 605244/2021) was filed on March 24, 2021, in the Supreme
Court of the State of New York (Suffolk County). The complaint purports to assert derivative claims against the individual defendants
for breach of fiduciary duty, unjust enrichment, and waste of corporate assets, and seeks to recover on behalf of the Company for
any liability the Company might incur as a result of the individual defendants&#8217; alleged misconduct. The complaint also seeks
declaratory, equitable, injunctive, and monetary relief, as well as attorneys&#8217; fees and other costs. On April 12, 2021, the
parties filed a joint stipulation staying the action pending further developments in the class action.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">On
June 13, 2022, plaintiffs in the consolidated federal action informed the court that the Company and all defendants had reached
an agreement in principle with all plaintiffs to settle the shareholder derivative lawsuits described above. On June 16, 2022,
plaintiffs in the consolidated federal action filed an unopposed motion for preliminary approval of the settlement. On July 22,
2022, the court referred the motion to the magistrate judge. The magistrate judge held a conference on September 9, 2022 in the
consolidated federal action. On February 14, 2023, the magistrate judge recommended that the court grant the motion in its entirety.
On March 6, 2023, the court granted preliminary approval of the proposed settlement.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white">On May 17, 2023,
plaintiffs in the consolidated federal action filed an unopposed motion for final approval of the settlement. <span style="background-color: white">The
magistrate judge held a final approval hearing on June 7, 2023. The final approval motion remains pending.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"><span style="background-color: white">The
terms of the proposed settlement are set forth in the stipulation of settlement agreed to by the Company and plaintiffs. Should
the proposed settlement receive final approval from the Court, it will result in the dismissal of the shareholder derivative lawsuits.
As part of the proposed settlement, the Company has agreed to undertake (or confirm that it has undertaken already) certain corporate
governance reforms. In addition, the Company and/or its insurer have agreed to pay a total of $<span id="xdx_90D_eus-gaap--LegalFees_c20230516__20230517_zfmZ3pia4WXb" title="Attorneys' fees">585,000</span> in attorneys&#8217; fees
to plaintiffs&#8217; counsel.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; background-color: white"><span style="background-color: white"><b>Litigation
Settlement Obligation and Insurance Recovery Receivable Pertaining to the Class Action Lawsuit and Shareholder Derivative Action</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white">The
attorneys&#8217; fees for both the class action lawsuit and the shareholder derivative actions were covered and paid by our directors&#8217;
and officers&#8217; insurance carrier, after satisfaction of our $<span id="xdx_905_eus-gaap--LitigationSettlementExpense_c20230101__20230630_zgZzk9B2gZr2" title="Covered settlement amount">750,000</span> retention. As of June 30, 2023, we had previously paid
and accrued to our financial statements covered expenses totaling $<span id="xdx_90F_eus-gaap--LitigationSettlementExpense_c20230101__20230630_zWsQsuF3LGh9" title="Covered settlement amount">750,000</span>, and had therefore met our insurance carrier&#8217;s
directors&#8217; and officers&#8217; retention requirement, which capped the Company&#8217;s expenses pertaining to the class action
suit at $<span id="xdx_90D_ecustom--DirectorsAndOfficersInsuranceRetentionAmount_iI_c20230630_z0maLDl5AiC4" title="Directors and officers insurance retention amount">750,000</span>. Because the Settlement Amount was transferred to counsel for plaintiff in the class action lawsuit on May 5,
2023, from the escrow account established for this purpose, we have relieved from our balance sheet, as of that date, the amounts
previously owed from our directors&#8217; and officers&#8217; insurance carrier and to that plaintiff.</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/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482648/440-10-50-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//450/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 440<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480327/954-440-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482648/440-10-50-4<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 440<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//440/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415892621088">
<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, 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_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_zPRVJHqjSxj9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><b><span id="xdx_86B_zQZlOxwL4pw6">Basis of Presentation</span></b></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The condensed consolidated interim financial
statements of the Company as of June 30, 2023 and for the six months ended June 30, 2023 and 2022 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, 2022 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.</p>

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

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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">The Company maintains its cash in four
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, 2023, the Company had $<span id="xdx_903_eus-gaap--CashUninsuredAmount_iI_c20230630_zNrgpAtDs0F9" title="Uninsured balance">2,892,826</span> of uninsured balances. The Company limits
its credit risk by selecting financial institutions considered to be highly creditworthy.</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 - Adopted</a></td>
<td class="text"><p id="xdx_848_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zBbHUu2NS7c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><b><span id="xdx_867_zyudyDM69nmj">Recently Issued Accounting Standards
- Adopted</span></b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify">In the first quarter of 2023, the Company
adopted ASU 2016-13, Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments (ASU
2016-13), using a modified retrospective method, which did not result in a significant impact on the Company&#8217;s financial
statements.</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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415892806880">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVENUE RECOGNITION (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_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_89B_eus-gaap--DisaggregationOfRevenueTableTextBlock_zItC4dXryWqg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="xdx_8B3_zkes6t9fFWtk">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">&#160;</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">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">2022</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">2022</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%">Aerostructures</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__srt--ProductOrServiceAxis__custom--AerostructureMember_zcq0PIDWEwYc" style="width: 12%; text-align: right" title="Revenue">8,425,795</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_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630__srt--ProductOrServiceAxis__custom--AerostructureMember_zutXV2Ys2e7l" style="width: 12%; text-align: right" title="Revenue">9,819,902</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--AerostructureMember_zVjrf0Q4CB0g" style="width: 12%; text-align: right" title="Revenue">18,499,320</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_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20220630__srt--ProductOrServiceAxis__custom--AerostructureMember_zJldrCNKZBQk" style="width: 12%; text-align: right" title="Revenue">19,006,695</td><td style="width: 1%; text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td>Aerosystems</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__srt--ProductOrServiceAxis__custom--AerosystemsMember_z8pBJsFq9r29" style="text-align: right">7,567,883</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630__srt--ProductOrServiceAxis__custom--AerosystemsMember_z3SNbGVbixqd" style="text-align: right">5,984,045</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__srt--ProductOrServiceAxis__custom--AerosystemsMember_ze3fXeN0SRbf" style="text-align: right">17,120,134</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_c20220101__20220630__srt--ProductOrServiceAxis__custom--AerosystemsMember_zJD1LOpEqrV5" style="text-align: right">12,670,873</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">Kitting and Supply Chain Management</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--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__srt--ProductOrServiceAxis__custom--KittingAndSupplyChainManagementMember_zohBCNn8rim" style="border-bottom: Black 1pt solid; text-align: right">4,553,877</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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630__srt--ProductOrServiceAxis__custom--KittingAndSupplyChainManagementMember_zhW3Wwm70Rc8" style="border-bottom: Black 1pt solid; text-align: right">3,121,459</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_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__srt--ProductOrServiceAxis__custom--KittingAndSupplyChainManagementMember_zhaYSBeKNrFk" style="border-bottom: Black 1pt solid; text-align: right">6,944,769</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_c20220101__20220630__srt--ProductOrServiceAxis__custom--KittingAndSupplyChainManagementMember_zsGy6odbQ4M" style="border-bottom: Black 1pt solid; text-align: right">7,382,935</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_c20230401__20230630_z6lCJJ5igopf" 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_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630_z1lOtfS6iHji" style="border-bottom: Black 2.5pt double; text-align: right">18,925,406</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_c20230101__20230630_zP0zIs89Dr94" 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><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_c20220101__20220630_zMLdlvewiyT9" style="border-bottom: Black 2.5pt double; text-align: right">39,060,503</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
</table>

<p style="margin-top: 0; margin-bottom: 0">&#160;</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">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">2022</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">2022</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_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_z9Grj0QhLFL1" 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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zGsqCXSAv2li" style="width: 12%; text-align: right">16,565,696</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_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zta9WbToFS8j" style="width: 12%; text-align: right">39,300,073</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_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20220630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zofe1IZfLFgd" style="width: 12%; text-align: right">35,060,893</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_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zFDRvsmz8Fxc" 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_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zXnp6pcH0job" style="border-bottom: Black 1pt solid; text-align: right">2,359,710</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_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_z8bvt9zYIyW1" style="border-bottom: Black 1pt solid; text-align: right">3,264,150</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_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20220630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zilJg56KQdjh" style="border-bottom: Black 1pt solid; text-align: right">3,999,610</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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630_zdMkWP7BanVh" 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_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630_zzijgyX7tVG3" style="border-bottom: Black 2.5pt double; text-align: right">18,925,406</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_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630_zhugV1K7xKK9" 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><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_c20220101__20220630_zQd4Aoe5ibu1" style="border-bottom: Black 2.5pt double; text-align: right">39,060,503</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_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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415889862832">
<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, 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>
</tr>
<tr class="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_891_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_zwjC4UujYJMj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="xdx_8BF_z5KzVJQfDan1" style="display: none; visibility: hidden">Schedule of contract assets and liabilities</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 70%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" id="xdx_496_20230630_zQ9HjT39jDtk" style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" id="xdx_497_20221231_zndGjjupU4B4" style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>December 31,</b></span></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</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>&#160;</td>
    <td>&#160;</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>2022</b></span></td>
    <td>&#160;</td></tr>
<tr id="xdx_403_eus-gaap--ContractWithCustomerAssetNet_iI_maNCAz5zf_zF1lgIW2Dtf4" style="background-color: #CCEEFF">
    <td style="vertical-align: bottom; width: 40%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Contract assets</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</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">30,962,061</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td>
    <td style="vertical-align: bottom; width: 1%">&#160;</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: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">27,384,540</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td></tr>
<tr id="xdx_403_eus-gaap--ContractWithCustomerLiability_iI_msNCAz5zf_z21NM7soBdl2" 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">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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">8,605,354</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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">6,001,726</span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr id="xdx_400_ecustom--NetContractAssets_iTI_mtNCAz5zf_zf0QpYpqG9u7" style="background-color: #CCEEFF">
    <td style="vertical-align: bottom; padding-left: 0.125in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net Contract assets</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">22,356,707</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">21,382,814</span></td>
    <td style="vertical-align: bottom">&#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_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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415893908368">
<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, 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>
</tr>
<tr class="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_893_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zvk7RQZySoyf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="xdx_8BD_zyra91V6mprh">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">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 70%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td>&#160;</td>
    <td colspan="2" id="xdx_497_20230630_zTZXwrbUlRu4" style="border-bottom: black 1pt solid">
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>June 30, </b></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>2023</b></p></td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td colspan="2" id="xdx_491_20221231_z1xp1pndI741" style="border-bottom: black 1pt solid">
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>December 31,</b></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>2022</b></p></td>
    <td style="border-bottom: black 1pt solid">&#160;</td></tr>
<tr id="xdx_40E_eus-gaap--InventoryRawMaterials_iI_maIGzpSz_zwjpZHyFCYze" style="background-color: #CCEEFF">
    <td style="vertical-align: bottom; width: 40%; 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%">&#160;</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">1,822,930</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td>
    <td style="vertical-align: bottom; width: 1%">&#160;</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: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1,892,157</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td></tr>
<tr id="xdx_40C_eus-gaap--InventoryWorkInProcess_iI_maIGzpSz_zODG1BxsIE5a" 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">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">216,908</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">685,438</span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr id="xdx_409_eus-gaap--InventoryFinishedGoods_iI_maIGzpSz_zx59fbFTacSb" style="background-color: #CCEEFF">
    <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">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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">2,293,217</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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">3,038,859</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</td></tr>
<tr id="xdx_40A_eus-gaap--InventoryGross_iTI_mtIGzpSz_maINzM3w_zbVuRwFJHoW4" style="background-color: white">
    <td style="vertical-align: bottom; padding-left: 9pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Gross inventory</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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">4,333,055</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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">5,616,454</span></td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</td></tr>
<tr id="xdx_400_eus-gaap--InventoryValuationReserves_iNI_di_msINzM3w_zCERClhClMfe" style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="padding-left: 9pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inventory reserves</span></td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2,414,149</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">&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(3,123,386</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_408_eus-gaap--InventoryNet_iTI_mtINzM3w_zwwDCNlUDDLc" style="vertical-align: bottom; background-color: white">
    <td style="padding-left: 9pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inventory, net</span></td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.5pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1,918,906</span></td>
    <td style="border-bottom: black 2.5pt double">&#160;</td>
    <td style="border-bottom: black 2.5pt double">&#160;</td>
    <td style="border-bottom: black 2.5pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2,493,069</span></td>
    <td style="border-bottom: black 2.5pt double">&#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_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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415892598672">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>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_89D_eus-gaap--ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_zwzD8wWg4aRb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span style="background-color: white"><span id="xdx_8B4_zBY5DzGGxCw1">Stock-based
compensation expense for restricted stock in the consolidated statements of operations is summarized as follows:</span></span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td id="xdx_499_20230401__20230630_zA6AYdzFTEte" style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td id="xdx_498_20220401__20220630_zbMiBtTK18yh" style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td id="xdx_495_20230101__20230630_zHI45STxUez2" style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td id="xdx_49B_20220101__20220630_z2vMMd9fmwZ8" style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</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></span><br/>
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></td>
    <td>&#160;</td>
    <td>&#160;</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></span><br/>
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</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>&#160;</td>
    <td>&#160;</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>2022</b></span></td>
    <td>&#160;</td>
    <td>&#160;</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>&#160;</td>
    <td>&#160;</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>2022</b></span></td>
    <td>&#160;</td></tr>
<tr id="xdx_40F_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--CostOfSalesMember_zKk4JxXX4TC9" style="background-color: #CCEEFF">
    <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%">&#160;</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%">&#160;</td>
    <td style="vertical-align: bottom; width: 1%">&#160;</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: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">6,471</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td>
    <td style="vertical-align: bottom; width: 1%">&#160;</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%">&#160;</td>
    <td style="vertical-align: bottom; width: 1%">&#160;</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: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">20,006</span></td>
    <td style="vertical-align: bottom; width: 1%">&#160;</td></tr>
<tr id="xdx_401_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--SellingGeneralAndAdministrativeExpensesMember_zOqkPyg1l92f">
    <td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Selling, general and administrative</span></td>
    <td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: bottom; background-color: white">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: top; background-color: white; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">143,045</span></td>
    <td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt">&#160;</td>
    <td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: bottom; background-color: white">&#160;</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">131,027</span></td>
    <td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt">&#160;</td>
    <td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: bottom; background-color: white">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: top; background-color: white; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">466,891</span></td>
    <td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt">&#160;</td>
    <td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: bottom; background-color: white">&#160;</td>
    <td style="border-bottom: Black 1pt solid; vertical-align: bottom; background-color: white; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">143,374</span></td>
    <td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt">&#160;</td></tr>
<tr id="xdx_40A_eus-gaap--AllocatedShareBasedCompensationExpense_zWmilNFzXT6h" style="background-color: white">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total stock-based compensation expense</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt 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">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">137,498</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt 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">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">163,380</span></td>
    <td style="vertical-align: bottom">&#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_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock', window );">The following table summarizes activity related to outstanding RSUs and Restricted Stock Awards for the six months ended June 30, 2023:</a></td>
<td class="text"><p id="xdx_892_eus-gaap--ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_zsaMJQT5DeCb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="xdx_8BF_zVIMi02o3eIk">The
following table summarizes activity related to outstanding RSUs and Restricted Stock Awards for the six months ended June 30, 2023:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</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>Restricted Stock Awards</b></span></td>
    <td>&#160;</td>
    <td>&#160;</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"><b>Weighted Average</b></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>Grant Date</b></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>Fair Value of Restricted Stock
Awards</b></p></td>
    <td>&#160;</td>
    <td>&#160;</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>RSUs</b></span></td>
    <td>&#160;</td>
    <td>&#160;</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"><b>Weighted Average</b></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>Grant Date</b></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>Fair Value of RSUs</b></p></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="width: 39%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-vested &#8211; January 1, 2023</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td id="xdx_98D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iS_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zmGsKV6UJRw3" style="width: 12%; text-align: right" title="Non vested January 1, 2022"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">239,184</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_98E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zukYzmCr4wUj" style="width: 12%; text-align: right" title="Non vested January 1, 2022"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.32</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iS_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z8y2ta98CM91" style="width: 12%; text-align: right" title="Non vested January 1, 2022"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl0590">&#8212;</span></span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_984_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z9hsJbG8g9z9" style="width: 12%; text-align: right" title="Non vested January 1, 2022"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl0592">&#8212;</span></span></td>
    <td style="width: 1%">&#160;</td></tr>
<tr style="background-color: white">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Granted</span></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_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zdoDzWknwLXf" style="vertical-align: bottom; text-align: right" title="Granted"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">212,902</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zdYZirVOWsa4" style="vertical-align: bottom; text-align: right" title="Granted"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.82</span></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_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zkzJ20RVbCyl" style="vertical-align: bottom; text-align: right" title="Granted"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">170,042</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zFGYlVTkMySb" style="vertical-align: top; text-align: right" title="Granted"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.44</span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr style="background-color: #CCEEFF">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Vested</span></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_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_iN_pid_di_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zvWV4upBAF02" style="vertical-align: bottom; text-align: right" title="Vested"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(82,769)</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_z8tcZxoMvXac" style="vertical-align: bottom; text-align: right" title="Vested"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.83</span></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_984_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_iN_pid_di_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zF2HWXjck2r2" style="vertical-align: bottom; text-align: right" title="Vested"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(69,845</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">&#160;</td>
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_987_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z36NpoJKzlf9" style="vertical-align: top; text-align: right" title="Vested"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.42</span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr style="background-color: white">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Forfeited</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</td>
    <td id="xdx_986_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_iN_pid_di_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_z2iJznfvRpIf" style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: right" title="Forfeited"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl0610">&#8212;</span></span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zfszED32yA64" style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: right" title="Forfeited"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="-sec-ix-hidden: xdx2ixbrl0612">&#8212;</span></span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</td>
    <td id="xdx_98E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_iN_pid_di_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zEZWxYVV0w3b" style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: right" title="Forfeited"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(33,749</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">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_989_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zMUgvBekc9ei" style="border-bottom: black 1pt solid; vertical-align: top; text-align: right" title="Forfeited"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.42</span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr style="background-color: #CCEEFF">
    <td style="vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Non-vested &#8211; June 30, 2023</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom">&#160;</td>
    <td id="xdx_983_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iE_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zVUz3xfOXGMi" style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right" title="Non vested December 31, 2022"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">369,317</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_983_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zNXbWeid3W87" style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right" title="Non vested December 31, 2022"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.25</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom">&#160;</td>
    <td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iE_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zl2vZUG58Fd3" style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right" title="Non vested December 31, 2022"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">66,448</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zdzwrBp4K97b" style="border-bottom: black 2.5pt double; vertical-align: top; text-align: right" title="Non vested December 31, 2022"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.47</span></td>
    <td style="vertical-align: bottom">&#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_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock</td>
</tr>
<tr>
<td style="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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415896404336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>FAIR VALUE (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [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_FairValueByBalanceSheetGroupingTextBlock', window );">At June 30, 2023 and December 31, 2022, the fair values of cash, accounts receivable and accounts payable approximated their carrying values because of the short-term nature of these instruments.</a></td>
<td class="text"><p id="xdx_89D_eus-gaap--FairValueByBalanceSheetGroupingTextBlock_ziLOxo1fZGYd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="xdx_8B8_zBcxLS6zvhNk">At June 30, 2023 and December 31, 2022,
the fair values of cash, accounts receivable and accounts payable approximated their carrying values because of the short-term
nature of these instruments.</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td>&#160;</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>June 30, 2023</b></span></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td>&#160;</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"><b>Carrying</b></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>Amount</b></p></td>
    <td>&#160;</td>
    <td>&#160;</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>Fair Value</b></span></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Debt</span></td>
    <td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="width: 74%; padding-left: 9pt; text-align: justify; text-indent: -9pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Short-term borrowings and long-term debt</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_988_eus-gaap--DebtInstrumentFairValue_iI_c20230630__us-gaap--FairValueByMeasurementBasisAxis__us-gaap--CarryingReportedAmountFairValueDisclosureMember_zsXV5bw5zxTl" style="border-bottom: black 2.5pt double; width: 10%; text-align: right" title="Short-term borrowings and long-term debt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">21,262,656</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_986_eus-gaap--DebtInstrumentFairValue_iI_c20230630__us-gaap--FairValueByMeasurementBasisAxis__us-gaap--EstimateOfFairValueFairValueDisclosureMember_zjc9ksZIKFWi" style="border-bottom: black 2.5pt double; width: 10%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">21,262,656</span></td>
    <td style="width: 1%">&#160;</td></tr>
<tr>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td></tr>
</table>
<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</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>December 31, 2022</b></span></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td>
    <td>&#160;</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"><b>Carrying</b></p>
        <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><b>Amount</b></p></td>
    <td>&#160;</td>
    <td>&#160;</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>Fair Value</b></span></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Debt</span></td>
    <td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="width: 74%; padding-left: 9pt; text-align: justify; text-indent: -9pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Short-term borrowings and long-term debt</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_988_eus-gaap--DebtInstrumentFairValue_iI_c20221231__us-gaap--FairValueByMeasurementBasisAxis__us-gaap--CarryingReportedAmountFairValueDisclosureMember_zYl79NiaxwZf" style="border-bottom: black 2.5pt double; width: 10%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">22,790,747</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td id="xdx_985_eus-gaap--DebtInstrumentFairValue_iI_c20221231__us-gaap--FairValueByMeasurementBasisAxis__us-gaap--EstimateOfFairValueFairValueDisclosureMember_z5uraTkpJp8a" style="border-bottom: black 2.5pt double; width: 10%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">22,790,747</span></td>
    <td style="width: 1%">&#160;</td></tr>
<tr>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#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_FairValueByBalanceSheetGroupingTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fair value of financial instruments, including financial assets and financial liabilities, and the measurements of those instruments, assets, and liabilities.</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 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-11<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByBalanceSheetGroupingTextBlock</td>
</tr>
<tr>
<td style="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_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415892843280">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME PER COMMON SHARE (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicByCommonClassTextBlock', window );">For the three and six months ended June 30, 2023 and 2022, respectively, our income per common share was calculated as follows:</a></td>
<td class="text"><p id="xdx_897_eus-gaap--ScheduleOfEarningsPerShareBasicByCommonClassTextBlock_zFAxSjLsIWyk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 1.45pt 0pt 0; text-align: justify"><span id="xdx_8B4_zZ66jAo4sKx">For the three and six months
ended June 30, 2023 and 2022, respectively, our income per common share was calculated as follows:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td id="xdx_49C_20230401__20230630_zxLA6vMfkhOh" style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td id="xdx_498_20220401__20220630_z8Wv36sOdzEd" style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td id="xdx_49C_20230101__20230630_zZxGxW7PR5i6" style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td id="xdx_490_20220101__20220630_zKmidXad0GTd" style="border-bottom: black 1pt solid; text-align: center">&#160;</td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</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></span><br/>
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></td>
    <td>&#160;</td>
    <td>&#160;</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></span><br/>
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>June 30,</b></span></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</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>&#160;</td>
    <td>&#160;</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>2022</b></span></td>
    <td>&#160;</td>
    <td>&#160;</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>&#160;</td>
    <td>&#160;</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>2022</b></span></td>
    <td>&#160;</td></tr>
<tr id="xdx_40E_eus-gaap--NetIncomeLoss_zwPPH9Th8jy8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net income </span></td>
    <td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1,157,076</span></td>
    <td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">517,636</span></td>
    <td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2,140,381</span></td>
    <td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="width: 1%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: Black 2.5pt double; width: 12%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">484,705</span></td>
    <td style="width: 1%; padding-bottom: 2.5pt">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_408_eus-gaap--EarningsPerShareBasicAbstract_iB_zGc5YlYMdYmj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Income per common share, basic:</span></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income per common share-unrestricted shares</span></td>
    <td>&#160;</td>
    <td>$</td>
    <td id="xdx_98E_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20230401__20230630__us-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_zEO231fYUtwf" style="text-align: right" title="Income (loss) per common share, basic"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">0.09</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>$</td>
    <td id="xdx_989_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20220401__20220630__us-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_z2bW7HRd4K95" style="text-align: right" title="Income (loss) per common share, basic"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">0.04</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>$</td>
    <td id="xdx_98D_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20230101__20230630__us-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_zauk7ci2bdfg" style="text-align: right" title="Income (loss) per common share, basic"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">0.17</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>$</td>
    <td id="xdx_98A_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20220101__20220630__us-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_zd2soJbaiMcc" style="text-align: right" title="Income (loss) per common share, basic"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">0.04</span></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income per common share-restricted shares</span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid">$</td>
    <td id="xdx_982_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20230401__20230630__us-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_zQ4BLaBMfyu6" style="border-bottom: Black 1pt solid; text-align: right" title="Income (loss) per common share, basic"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">0.09</span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid">$</td>
    <td id="xdx_98A_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20220401__20220630__us-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_zYCslTjPsTml" style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">0.04</span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid">$</td>
    <td id="xdx_98E_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20230101__20230630__us-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_zsm7ZhXcy8p3" style="border-bottom: Black 1pt solid; text-align: right" title="Income (loss) per common share, basic"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">0.17</span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid">$</td>
    <td id="xdx_98B_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20220101__20220630__us-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_z9q6CvIlBtJg" style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">0.04</span></td>
    <td style="padding-bottom: 1pt">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_406_eus-gaap--EarningsPerShareDilutedAbstract_iB_zkoZIfYVA5r3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income per common share, diluted</span></td>
    <td>&#160;</td>
    <td>$</td>
    <td id="xdx_98D_eus-gaap--EarningsPerShareDiluted_i01_pp2p0_c20230401__20230630_z12RDg7XWBx7" style="text-align: right" title="Income (loss) per common share, diluted"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">0.09</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>$</td>
    <td id="xdx_983_eus-gaap--EarningsPerShareDiluted_i01_pp2p0_c20220401__20220630_zbFs3470O5Mk" style="text-align: right" title="Income (loss) per common share, diluted"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">0.04</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>$</td>
    <td id="xdx_986_eus-gaap--EarningsPerShareDiluted_i01_pp2p0_c20230101__20230630_zTnYsZqHJ078" style="text-align: right" title="Income (loss) per common share, diluted"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">0.17</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>$</td>
    <td id="xdx_98A_eus-gaap--EarningsPerShareDiluted_i01_pp2p0_c20220101__20220630_zbmjfGqOumZ" style="text-align: right" title="Income (loss) per common share, diluted"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">0.04</span></td>
    <td>&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_409_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasicAbstract_iB_zaxngZjU6bx6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Shares used in computing income per common share, basic:</span></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_409_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_i01_pp0p0_hus-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_z6NiJSSfIAh2" style="vertical-align: bottom; background-color: White">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Unrestricted shares</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12,429,894</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12,305,939</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12,412,068</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12,275,306</span></td>
    <td>&#160;</td></tr>
<tr id="xdx_406_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_i01_pp0p0_hus-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_zTPPMjkExAa7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Restricted shares</span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">128,899</span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">133,061</span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">127,584</span></td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="padding-bottom: 1pt">&#160;</td>
    <td style="border-bottom: Black 1pt solid">&#160;</td>
    <td style="border-bottom: Black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">125,975</span></td>
    <td style="padding-bottom: 1pt">&#160;</td></tr>
<tr id="xdx_404_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_i01_pp0p0_zRMu4KeMmj4d" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total shares</span></td>
    <td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12,558,793</span></td>
    <td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12,439,000</span></td>
    <td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12,539,652</span></td>
    <td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12,401,281</span></td>
    <td style="padding-bottom: 2.5pt">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_40A_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_pp0p0_uShares_z36FB1oQQOgk" style="vertical-align: bottom; background-color: White">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Shares used in computing income per common share, diluted</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12,625,241</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12,534,058</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12,606,100</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12,496,339</span></td>
    <td>&#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_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_ScheduleOfEarningsPerShareBasicByCommonClassTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 effect of income (loss) on basic 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/2009/role/commonPracticeRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-3<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicByCommonClassTextBlock</td>
</tr>
<tr>
<td style="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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415892787760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>DEBT (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_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_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock', window );">The maturities of long-term debt (excluding unamortized debt issuance costs) are as follows:</a></td>
<td class="text"><p id="xdx_898_eus-gaap--ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_zxGT6qVX5xma" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="xdx_8B3_zHee8dp3iCdl">The maturities of long-term debt (excluding
unamortized debt issuance costs) are as follows:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 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>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" id="xdx_495_20230630_zJ5db5W3aVBf" style="text-align: center">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_402_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear_iI_maLTDzhnE_z279lG9HrR3c" style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="width: 31%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Remainder of 2023</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="width: 15%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">181,827</span></td>
    <td style="width: 1%">&#160;</td></tr>
<tr id="xdx_404_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_iI_maLTDzhnE_zIjaCc4aSlV9" style="vertical-align: bottom; background-color: white">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2024</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">51,801</span></td>
    <td>&#160;</td></tr>
<tr id="xdx_408_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_iI_maLTDzhnE_zdfuGNhLjFD2" style="vertical-align: bottom; background-color: #CCEEFF">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2025</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">29,028</span></td>
    <td>&#160;</td></tr>
<tr id="xdx_403_eus-gaap--LongTermDebt_iTI_mtLTDzhnE_zYNLxufLz4m" style="vertical-align: bottom; background-color: white">
    <td><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>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.5pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">262,656</span></td>
    <td>&#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_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_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 maturity and sinking fund requirement 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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 470<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481544/470-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_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415892658912">
<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, 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>
</tr>
<tr class="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, 2023 were as follows:</a></td>
<td class="text"><p id="xdx_89F_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_zX21dzOwfb63" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="xdx_8B7_zGKqrvPb1rrc">Future minimum lease payments under non-cancellable
operating leases as of June 30, 2023 were as follows:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>For the Year Ending December 31,</b></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" id="xdx_49D_20230630_zOaKCwPm8hAe" style="text-align: justify">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maOLFMPzv5G_zMYwLjB1ph21" style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="width: 86%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Remainder of 2023</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="width: 10%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">1,096,220</span></td>
    <td style="width: 1%">&#160;</td></tr>
<tr id="xdx_403_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maOLFMPzv5G_zhivs9pjlRpe" style="vertical-align: bottom; background-color: white">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2024</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2,228,784</span></td>
    <td>&#160;</td></tr>
<tr id="xdx_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maOLFMPzv5G_zNor4RyUc2w8" style="vertical-align: bottom; background-color: #CCEEFF">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2025</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2,283,354</span></td>
    <td>&#160;</td></tr>
<tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_maOLFMPzv5G_zC4uHLYeEp77" style="vertical-align: bottom; background-color: white">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2026</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">850,276</span></td>
    <td>&#160;</td></tr>
<tr id="xdx_407_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFour_iI_maOLFMPzv5G_zEk1cpY66KV2" style="vertical-align: bottom; background-color: #CCEEFF">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2027</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">111,065</span></td>
    <td>&#160;</td></tr>
<tr id="xdx_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_iI_maOLFMPzv5G_z7dRFbYbLm23" style="vertical-align: bottom; background-color: white">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Thereafter</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">9,228</span></td>
    <td>&#160;</td></tr>
<tr id="xdx_403_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtOLFMPzv5G_zJMVwJF3uVHj" style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="padding-left: 9pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total undiscounted operating lease payments</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">6,578,927</span></td>
    <td>&#160;</td></tr>
<tr id="xdx_402_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zexsJFJdjrr9" style="vertical-align: bottom; background-color: white">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Less imputed interest </span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 1pt solid">&#160;</td>
    <td style="border-bottom: black 1pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(536,037</span></td>
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">)</span></td></tr>
<tr id="xdx_408_eus-gaap--OperatingLeaseLiability_iI_zwZ2QR5bFBAf" style="vertical-align: bottom; background-color: #CCEEFF">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Present value of operating lease payments</span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="border-bottom: black 2.5pt double"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">6,042,890</span></td>
    <td>&#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 ROU assets and operating lease liabilities as of:</a></td>
<td class="text"><p id="xdx_899_ecustom--LesseeOperatingLeasesTableTextBlock_zJScyRalZjl5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><span id="xdx_8B7_zx0SdYWZWfjc">The following table sets forth the ROU
assets and operating lease liabilities as of:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
<tr style="vertical-align: bottom">
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" id="xdx_49D_20230630_zzsKaXD0ILn5" 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></span><br/>
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2023</b></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" id="xdx_493_20221231_zvqeZx4kCwBe" 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></span><br/>
<span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>2022</b></span></td>
    <td>&#160;</td></tr>
<tr id="xdx_409_eus-gaap--AssetsAbstract_iB_zqwiKBF9G1u" style="vertical-align: bottom">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Assets</b></span></td>
    <td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_409_eus-gaap--OperatingLeaseRightOfUseAsset_i01I_zKQr19tgFTFe" style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="width: 74%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ROU assets, net</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; width: 11%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">5,646,483</span></td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="border-bottom: black 2.5pt double; width: 1%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; width: 9%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">6,526,627</span></td>
    <td style="width: 1%">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: white">
    <td style="text-align: justify">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_40E_eus-gaap--LiabilitiesAbstract_iB_z1Gdx0pIOia4" style="vertical-align: bottom; background-color: #CCEEFF">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Liabilities</b></span></td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">&#160;</td>
    <td>&#160;</td></tr>
<tr id="xdx_402_eus-gaap--OperatingLeaseLiabilityCurrent_i01I_maOLLzT6D_maOLLzzJK_zKZQQ9qhg8k2" style="background-color: white">
    <td style="vertical-align: bottom; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Current operating lease liabilities</span></td>
    <td style="vertical-align: bottom">&#160;</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">1,921,803</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</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">1,817,811</span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr id="xdx_408_eus-gaap--OperatingLeaseLiabilityNoncurrent_i01I_maOLLzT6D_maOLLzzJK_zhlgBDyKIUbi" style="background-color: #CCEEFF">
    <td style="vertical-align: bottom; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Long-term operating lease liabilities</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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">4,121,087</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 1pt solid; vertical-align: bottom">&#160;</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">5,077,235</span></td>
    <td style="vertical-align: bottom">&#160;</td></tr>
<tr id="xdx_404_eus-gaap--OperatingLeaseLiability_i01TI_mtOLLzT6D_mtOLLzzJK_zqNBfIxWu4r9" style="background-color: white">
    <td style="vertical-align: bottom; padding-left: 9pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total lease liabilities</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; vertical-align: top; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">6,042,890</span></td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="vertical-align: bottom">&#160;</td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">$</span></td>
    <td style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">6,895,046</span></td>
    <td style="vertical-align: bottom">&#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>38
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415892554624">
<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, 2023 </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">$ 2,892,826<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>39
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415887585968">
<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, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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,547,555<span></span>
</td>
<td class="nump">$ 18,925,406<span></span>
</td>
<td class="nump">$ 42,564,223<span></span>
</td>
<td class="nump">$ 39,060,503<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">18,669,843<span></span>
</td>
<td class="nump">16,565,696<span></span>
</td>
<td class="nump">39,300,073<span></span>
</td>
<td class="nump">35,060,893<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">1,877,712<span></span>
</td>
<td class="nump">2,359,710<span></span>
</td>
<td class="nump">3,264,150<span></span>
</td>
<td class="nump">3,999,610<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_AerostructureMember', window );">Aerostructure [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">8,425,795<span></span>
</td>
<td class="nump">9,819,902<span></span>
</td>
<td class="nump">18,499,320<span></span>
</td>
<td class="nump">19,006,695<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_AerosystemsMember', window );">Aerosystems [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">7,567,883<span></span>
</td>
<td class="nump">5,984,045<span></span>
</td>
<td class="nump">17,120,134<span></span>
</td>
<td class="nump">12,670,873<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=cvu_KittingAndSupplyChainManagementMember', window );">Kitting and Supply Chain Management [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">$ 4,553,877<span></span>
</td>
<td class="nump">$ 3,121,459<span></span>
</td>
<td class="nump">$ 6,944,769<span></span>
</td>
<td class="nump">$ 7,382,935<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=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_AerostructureMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AerostructureMember</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_AerosystemsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AerosystemsMember</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_KittingAndSupplyChainManagementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_KittingAndSupplyChainManagementMember</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>40
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415889870384">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>REVENUE RECOGNITION (Details Narrative) - Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-07-01<br> $ in Millions</strong></div></th>
<th class="th">
<div>Jun. 30, 2023 </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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems', window );"><strong>Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [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_RevenueRemainingPerformanceObligation', window );">Remaining performance obligations</a></td>
<td class="nump">$ 118.2<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Performance obligations duration</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of transaction price allocated to performance obligation that has not been recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems</td>
</tr>
<tr>
<td style="padding-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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -SubTopic 10<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2023-07-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2023-07-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415889854512">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of contract assets and liabilities (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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">$ 30,962,061<span></span>
</td>
<td class="nump">$ 27,384,540<span></span>
</td>
</tr>
<tr class="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">8,605,354<span></span>
</td>
<td class="nump">6,001,726<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cvu_NetContractAssets', window );">Net Contract assets</a></td>
<td class="nump">$ 22,356,707<span></span>
</td>
<td class="nump">$ 21,382,814<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_cvu_NetContractAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 contract assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cvu_NetContractAssets</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>instant</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>42
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415892778288">
<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, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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">$ 1.9<span></span>
</td>
<td class="nump">$ 3.2<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>43
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415892475376">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 1,822,930<span></span>
</td>
<td class="nump">$ 1,892,157<span></span>
</td>
</tr>
<tr class="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">216,908<span></span>
</td>
<td class="nump">685,438<span></span>
</td>
</tr>
<tr class="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">2,293,217<span></span>
</td>
<td class="nump">3,038,859<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryGross', window );">Gross inventory</a></td>
<td class="nump">4,333,055<span></span>
</td>
<td class="nump">5,616,454<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryValuationReserves', window );">Inventory reserves</a></td>
<td class="num">(2,414,149)<span></span>
</td>
<td class="num">(3,123,386)<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,918,906<span></span>
</td>
<td class="nump">$ 2,493,069<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_InventoryGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross amount, as of the balance sheet date, of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -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_InventoryGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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_InventoryValuationReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of valuation reserve for inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB TOPIC 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480581/330-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryValuationReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWorkInProcess">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -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>44
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415892098816">
<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, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 );">Total stock-based compensation expense</a></td>
<td class="nump">$ 180,216<span></span>
</td>
<td class="nump">$ 137,498<span></span>
</td>
<td class="nump">$ 519,139<span></span>
</td>
<td class="nump">$ 163,380<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 );">Total stock-based compensation expense</a></td>
<td class="nump">37,171<span></span>
</td>
<td class="nump">6,471<span></span>
</td>
<td class="nump">52,248<span></span>
</td>
<td class="nump">20,006<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 );">Total stock-based compensation expense</a></td>
<td class="nump">$ 143,045<span></span>
</td>
<td class="nump">$ 131,027<span></span>
</td>
<td class="nump">$ 466,891<span></span>
</td>
<td class="nump">$ 143,374<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>45
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415892176288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>The following table summarizes activity related to outstanding RSUs and Restricted Stock Awards for the six months ended June 30, 2023: (Details)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jun. 30, 2023 </div>
<div>$ / shares </div>
<div>shares</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_RestrictedStockMember', window );">Restricted Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="re">
<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, 2022 | shares</a></td>
<td class="nump">239,184<span></span>
</td>
</tr>
<tr class="ro">
<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, 2022 | $ / shares</a></td>
<td class="nump">$ 2.32<span></span>
</td>
</tr>
<tr class="re">
<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">212,902<span></span>
</td>
</tr>
<tr class="ro">
<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">$ 3.82<span></span>
</td>
</tr>
<tr class="re">
<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">(82,769)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue', window );">Vested | $ / shares</a></td>
<td class="nump">$ 2.83<span></span>
</td>
</tr>
<tr class="re">
<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="ro">
<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="re">
<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 December 31, 2022 | shares</a></td>
<td class="nump">369,317<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Non vested December 31, 2022 | $ / shares</a></td>
<td class="nump">$ 3.25<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_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units (RSUs) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="re">
<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, 2022 | 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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Non vested January 1, 2022 | $ / 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Granted | shares</a></td>
<td class="nump">170,042<span></span>
</td>
</tr>
<tr class="ro">
<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">$ 3.44<span></span>
</td>
</tr>
<tr class="re">
<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">(69,845)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue', window );">Vested | $ / shares</a></td>
<td class="nump">$ 3.42<span></span>
</td>
</tr>
<tr class="re">
<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">(33,749)<span></span>
</td>
</tr>
<tr class="ro">
<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.42<span></span>
</td>
</tr>
<tr class="re">
<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 December 31, 2022 | shares</a></td>
<td class="nump">66,448<span></span>
</td>
</tr>
<tr class="ro">
<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 December 31, 2022 | $ / shares</a></td>
<td class="nump">$ 3.47<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>
<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>46
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415889559952">
<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="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited', window );">Shares forfeited</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">85,748<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 );">Stock-based compensation</a></td>
<td class="num">$ (180,216)<span></span>
</td>
<td class="num">$ (137,498)<span></span>
</td>
<td class="num">$ (519,139)<span></span>
</td>
<td class="num">$ (163,380)<span></span>
</td>
</tr>
<tr class="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="nump">514,880<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">514,880<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_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="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>
</tr>
<tr class="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 );">Stock-based compensation</a></td>
<td class="num">$ (143,045)<span></span>
</td>
<td class="num">$ (131,027)<span></span>
</td>
<td class="num">$ (466,891)<span></span>
</td>
<td class="num">(143,374)<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=cvu_ForfeitedRestrictedStockMember', window );">Forfeited Restricted Stock [Member] | 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_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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation</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">$ 263,148<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_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_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_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares related to Restricted Stock Award forfeited during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=cvu_ForfeitedRestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=cvu_ForfeitedRestrictedStockMember</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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415889700096">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>At June 30, 2023 and December 31, 2022, the fair values of cash, accounts receivable and accounts payable approximated their carrying values because of the short-term nature of these instruments. (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_FairValueByMeasurementBasisAxis=us-gaap_CarryingReportedAmountFairValueDisclosureMember', window );">Reported Value Measurement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFairValue', window );">Short-term borrowings and long-term debt</a></td>
<td class="nump">$ 21,262,656<span></span>
</td>
<td class="nump">$ 22,790,747<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_FairValueByMeasurementBasisAxis=us-gaap_EstimateOfFairValueFairValueDisclosureMember', window );">Estimate of Fair Value Measurement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFairValue', window );">Short-term borrowings and long-term debt</a></td>
<td class="nump">$ 21,262,656<span></span>
</td>
<td class="nump">$ 22,790,747<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_DebtInstrumentFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of debt instrument payable, including, but not limited to, notes payable and loans payable.</p></div>
<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 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 2: 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 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-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_DebtInstrumentFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems</td>
</tr>
<tr>
<td style="padding-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_FairValueByMeasurementBasisAxis=us-gaap_CarryingReportedAmountFairValueDisclosureMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueByMeasurementBasisAxis=us-gaap_CarryingReportedAmountFairValueDisclosureMember</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_FairValueByMeasurementBasisAxis=us-gaap_EstimateOfFairValueFairValueDisclosureMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueByMeasurementBasisAxis=us-gaap_EstimateOfFairValueFairValueDisclosureMember</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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415887615488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>For the three and six months ended June 30, 2023 and 2022, respectively, our income per common share was calculated as follows: (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="4">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasicLineItems', window );"><strong>Earnings Per Share, Basic, by Common Class, Including Two Class Method [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_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 1,157,076<span></span>
</td>
<td class="nump">$ 983,305<span></span>
</td>
<td class="nump">$ 517,636<span></span>
</td>
<td class="num">$ (32,931)<span></span>
</td>
<td class="nump">$ 2,140,381<span></span>
</td>
<td class="nump">$ 484,705<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDilutedAbstract', window );"><strong>Income per common share, diluted</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_EarningsPerShareDiluted', window );">Income (loss) per common share, diluted</a></td>
<td class="nump">$ 0.09<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.04<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.17<span></span>
</td>
<td class="nump">$ 0.04<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract', window );"><strong>Shares used in computing income per common share, basic:</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_WeightedAverageNumberOfSharesOutstandingBasic', window );">Total shares</a></td>
<td class="nump">12,558,793<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,439,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,539,652<span></span>
</td>
<td class="nump">12,401,281<span></span>
</td>
</tr>
<tr class="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 );">Shares used in computing income per common share, diluted</a></td>
<td class="nump">12,625,241<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,534,058<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,606,100<span></span>
</td>
<td class="nump">12,496,339<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_StatementClassOfStockAxis=cvu_UnrestrictedSharesMember', window );">Unrestricted 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>
<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_EarningsPerShareBasicAbstract', window );"><strong>Income per common share, basic:</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_EarningsPerShareBasic', window );">Income (loss) per common share, basic</a></td>
<td class="nump">$ 0.09<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.04<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.17<span></span>
</td>
<td class="nump">$ 0.04<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract', window );"><strong>Shares used in computing income per common share, basic:</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_WeightedAverageNumberOfSharesOutstandingBasic', window );">Total shares</a></td>
<td class="nump">12,429,894<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,305,939<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,412,068<span></span>
</td>
<td class="nump">12,275,306<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_StatementClassOfStockAxis=cvu_RestrictedSharesMember', window );">Restricted 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasicAbstract', window );"><strong>Income per common share, basic:</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_EarningsPerShareBasic', window );">Income (loss) per common share, basic</a></td>
<td class="nump">$ 0.09<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.04<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.17<span></span>
</td>
<td class="nump">$ 0.04<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract', window );"><strong>Shares used in computing income per common share, basic:</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_WeightedAverageNumberOfSharesOutstandingBasic', window );">Total shares</a></td>
<td class="nump">128,899<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">133,061<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">127,584<span></span>
</td>
<td class="nump">125,975<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasicAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EarningsPerShareBasicAbstract</td>
</tr>
<tr>
<td style="padding-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_EarningsPerShareBasicLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-3<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 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasicLineItems</td>
</tr>
<tr>
<td style="padding-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_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDilutedAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EarningsPerShareDilutedAbstract</td>
</tr>
<tr>
<td style="padding-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 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=cvu_UnrestrictedSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementClassOfStockAxis=cvu_UnrestrictedSharesMember</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_StatementClassOfStockAxis=cvu_RestrictedSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementClassOfStockAxis=cvu_RestrictedSharesMember</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>49
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415891937136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME PER COMMON SHARE (Details Narrative) - shares<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</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>
</tr>
<tr class="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">66,448<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>50
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415890284016">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>The maturities of long-term debt (excluding unamortized debt issuance costs) are as follows: (Details)<br></strong></div></th>
<th class="th">
<div>Jun. 30, 2023 </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_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear', window );">Remainder of 2023</a></td>
<td class="nump">$ 181,827<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths', window );">2024</a></td>
<td class="nump">51,801<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo', window );">2025</a></td>
<td class="nump">29,028<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_LongTermDebt', 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">$ 262,656<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_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</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/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 3: 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 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 5: 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/2147479440/944-210-S99-1<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(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-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_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-3<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 1E<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 470<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481544/470-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_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing 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 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-3<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 1E<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 470<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481544/470-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_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing 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 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-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_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>51
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415889029408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>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">87 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Mar. 23, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 30, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 30, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 30, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </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_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">$ 1,200,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_LongTermLineOfCredit', window );">Line of credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,360,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,360,000<span></span>
</td>
<td class="nump">19,800,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_LongTermDebtAndCapitalLeaseObligations', window );">Financing leases and notes payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">129,323<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">129,323<span></span>
</td>
<td class="nump">207,414<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_LongTermDebtAndCapitalLeaseObligationsCurrent', window );">Financing leases and notes payable current</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">87,838<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 87,838<span></span>
</td>
<td class="nump">136,433<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Payments of debt issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 54,334<span></span>
</td>
<td class="text"> <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_VariableRateAxis=us-gaap_PrimeRateMember', window );">Prime Rate [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_DebtInstrumentInterestRateStatedPercentage', window );">Debt Instrument, Interest Rate, Stated Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.25%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.25%<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_CreditFacilityAxis=cvu_TermLoanMember', window );">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_DebtInstrumentCarryingAmount', window );">Aggregate principal balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 133,333<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 133,333<span></span>
</td>
<td class="nump">1,583,333<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="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_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="ro">
<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="re">
<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<span></span>
</td>
<td class="text">&#160;<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_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="re">
<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">126,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">126,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] | 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="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_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="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cvu_AmendmentFee', window );">Amendment fee</a></td>
<td class="nump">$ 250,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="re">
<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">21,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">21,000,000<span></span>
</td>
<td class="nump">$ 21,000,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_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="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</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 18,360,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 18,360,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="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">20,520,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="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 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="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] | First Installment [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_AmendmentFee', window );">Amendment fee</a></td>
<td class="nump">116,667<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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] | Second Installment [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_AmendmentFee', window );">Amendment fee</a></td>
<td class="nump">$ 133,333<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="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_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 and 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_LineOfCreditFacilityExpirationDate1', window );">Expiration date</a></td>
<td class="text">Nov. 30,  2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_LongTermDebtPercentageBearingVariableInterestRate', window );">Interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11.75%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11.75%<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 Loan and Term Loan [Member] | Prime Rate [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_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>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cvu_AmendmentFee">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amendment fee.</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_AmendmentFee</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_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_DebtInstrumentCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of 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> -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/2147479853/942-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-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_DebtInstrumentCarryingAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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/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 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-2<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482949/835-30-55-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_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://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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<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_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_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://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/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityExpirationDate1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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/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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_LongTermDebtAndCapitalLeaseObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 and lease obligation, classified as noncurrent.</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 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/2147479440/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_LongTermDebtAndCapitalLeaseObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LongTermDebtAndCapitalLeaseObligationsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 and lease obligation, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<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_VariableRateAxis=us-gaap_PrimeRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_VariableRateAxis=us-gaap_PrimeRateMember</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_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_FirstInstallmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FirstInstallmentMember</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_SecondInstallmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SecondInstallmentMember</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_RevolvingLoanAndTermLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RevolvingLoanAndTermLoanMember</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>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415886995328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>MAJOR CUSTOMERS (Details Narrative) - Customer Concentration Risk [Member]<br></strong></div></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, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2022</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>
</tr>
<tr class="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>
</tr>
<tr class="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">32.00%<span></span>
</td>
<td class="nump">36.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>
</tr>
<tr class="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>
</tr>
<tr class="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">29.00%<span></span>
</td>
<td class="nump">14.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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">11.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=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>
</tr>
<tr class="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>
</tr>
<tr class="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">22.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">27.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>
</tr>
<tr class="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>
</tr>
<tr class="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">19.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.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>
</tr>
<tr class="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>
</tr>
<tr class="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">17.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16.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>
</tr>
<tr class="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>
</tr>
<tr class="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">15.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16.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 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>
</tr>
<tr class="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>
</tr>
<tr class="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">22.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">38.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>
</tr>
<tr class="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>
</tr>
<tr class="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">17.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">21.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>
</tr>
<tr class="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>
</tr>
<tr class="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">13.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 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>
</tr>
<tr class="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>
</tr>
<tr class="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">11.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">13.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 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>
</tr>
<tr class="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>
</tr>
<tr class="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">10.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/2147481027/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_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_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_srt_MajorCustomersAxis=cvu_CustomerFiveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CustomerFiveMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415887562784">
<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, 2023 were as follows: (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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 2023</a></td>
<td class="nump">$ 1,096,220<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 );">2024</a></td>
<td class="nump">2,228,784<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">2025</a></td>
<td class="nump">2,283,354<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 );">2026</a></td>
<td class="nump">850,276<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">2027</a></td>
<td class="nump">111,065<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_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive', window );">Thereafter</a></td>
<td class="nump">9,228<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total undiscounted operating lease payments</a></td>
<td class="nump">6,578,927<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_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less imputed interest</a></td>
<td class="num">(536,037)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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">$ 6,042,890<span></span>
</td>
<td class="nump">$ 6,895,046<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_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>54
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415889590560">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>The following table sets forth the ROU assets and operating lease liabilities as of: (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 );">ROU assets, net</a></td>
<td class="nump">$ 5,646,483<span></span>
</td>
<td class="nump">$ 6,526,627<span></span>
</td>
</tr>
<tr class="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">1,921,803<span></span>
</td>
<td class="nump">1,817,811<span></span>
</td>
</tr>
<tr class="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">4,121,087<span></span>
</td>
<td class="nump">5,077,235<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">$ 6,042,890<span></span>
</td>
<td class="nump">$ 6,895,046<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>55
<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.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415888992208">
<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, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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">$ 550,942<span></span>
</td>
<td class="nump">$ 516,920<span></span>
</td>
<td class="nump">$ 1,084,968<span></span>
</td>
<td class="nump">$ 1,051,911<span></span>
</td>
</tr>
<tr class="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 10 months 24 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years 10 months 24 days<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.40%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5.40%<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>56
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415892406624">
<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, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 98,789<span></span>
</td>
<td class="nump">$ 6,225<span></span>
</td>
<td class="nump">$ 298,046<span></span>
</td>
<td class="nump">$ 7,500<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">12.20%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">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="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_ValuationAllowanceDeferredTaxAssetChangeInAmount', window );">Valuation allowance released</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 121,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_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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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 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 2: 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 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.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-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 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>57
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.2</span><table class="report" border="0" cellspacing="2" id="idm140415893224160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMMITMENTS AND CONTINGENCIES (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>May 17, 2023</div></th>
<th class="th"><div>May 20, 2021</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies 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>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="nump">$ 3,600,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_LegalFees', window );">Attorneys' fees</a></td>
<td class="nump">$ 585,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_LitigationSettlementExpense', window );">Covered settlement amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 750,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cvu_DirectorsAndOfficersInsuranceRetentionAmount', window );">Directors and officers insurance retention amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 750,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cvu_DirectorsAndOfficersInsuranceRetentionAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 directors and officers insurance retention amount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cvu_DirectorsAndOfficersInsuranceRetentionAmount</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>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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_LegalFees">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of expense provided in the period for legal costs incurred on or before the balance sheet date pertaining to resolved, pending or threatened litigation, including arbitration and mediation proceedings.</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.3)<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_LegalFees</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LitigationSettlementExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 litigation expense, including but not limited to legal, forensic, accounting, and investigative fees.</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_LitigationSettlementExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>58
<FILENAME>cpi-10q_063023_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/20230630"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2023"
  xmlns:us-gaap="http://fasb.org/us-gaap/2023"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="cvu-20230630.xsd" xlink:type="simple"/>
    <context id="From2023-01-01to2023-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-08-17">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
        </entity>
        <period>
            <instant>2023-08-17</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="AsOf2022-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </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="From2022-04-012022-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_custom_UnrestrictedSharesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">cvu:UnrestrictedSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-06-30_custom_UnrestrictedSharesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">cvu:UnrestrictedSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_UnrestrictedSharesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">cvu:UnrestrictedSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_UnrestrictedSharesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">cvu:UnrestrictedSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_custom_RestrictedSharesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">cvu:RestrictedSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-06-30_custom_RestrictedSharesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">cvu:RestrictedSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_RestrictedSharesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">cvu:RestrictedSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_RestrictedSharesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">cvu:RestrictedSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2021-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>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-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>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-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>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
        </entity>
        <period>
            <instant>2021-12-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="From2022-01-012022-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>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-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>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-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>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-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>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-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>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-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>2022-04-01</startDate>
            <endDate>2022-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="AsOf2022-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>2022-03-31</instant>
        </period>
    </context>
    <context id="AsOf2022-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>2022-03-31</instant>
        </period>
    </context>
    <context id="AsOf2022-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>2022-03-31</instant>
        </period>
    </context>
    <context id="AsOf2022-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="AsOf2022-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>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-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>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-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>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
        </entity>
        <period>
            <instant>2022-06-30</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="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="From2023-04-012023-06-30_custom_AerostructureMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:AerostructureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-06-30_custom_AerostructureMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:AerostructureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_AerostructureMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:AerostructureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_AerostructureMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:AerostructureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_custom_AerosystemsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:AerosystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-06-30_custom_AerosystemsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:AerosystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_AerosystemsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:AerosystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_AerosystemsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:AerosystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2023-04-012023-06-30_custom_KittingAndSupplyChainManagementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:KittingAndSupplyChainManagementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-04-012022-06-30_custom_KittingAndSupplyChainManagementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:KittingAndSupplyChainManagementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_KittingAndSupplyChainManagementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:KittingAndSupplyChainManagementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_KittingAndSupplyChainManagementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cvu:KittingAndSupplyChainManagementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-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="From2022-04-012022-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>2022-04-01</startDate>
            <endDate>2022-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="From2022-01-012022-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>2022-01-01</startDate>
            <endDate>2022-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="From2022-04-012022-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>2022-04-01</startDate>
            <endDate>2022-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="From2022-01-012022-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>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30_2023-07-01">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2023-07-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </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="From2022-04-012022-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>2022-04-01</startDate>
            <endDate>2022-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="From2022-01-012022-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>2022-01-01</startDate>
            <endDate>2022-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="From2022-04-012022-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>2022-04-01</startDate>
            <endDate>2022-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="From2022-01-012022-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>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-06-30_custom_ForfeitedRestrictedStockMember_us-gaap_SellingGeneralAndAdministrativeExpensesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">cvu:ForfeitedRestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2022-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>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-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>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-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>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-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>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-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>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-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>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_us-gaap_CarryingReportedAmountFairValueDisclosureMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:CarryingReportedAmountFairValueDisclosureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_us-gaap_EstimateOfFairValueFairValueDisclosureMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:EstimateOfFairValueFairValueDisclosureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_CarryingReportedAmountFairValueDisclosureMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:CarryingReportedAmountFairValueDisclosureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_EstimateOfFairValueFairValueDisclosureMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:EstimateOfFairValueFairValueDisclosureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-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="From2023-03-212023-03-23_custom_RevolvingLoanAndTermLoanMember_custom_BankUnitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cvu:RevolvingLoanAndTermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-21</startDate>
            <endDate>2023-03-23</endDate>
        </period>
    </context>
    <context id="AsOf2023-03-23_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>2023-03-23</instant>
        </period>
    </context>
    <context id="AsOf2023-03-23_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>2023-03-23</instant>
        </period>
    </context>
    <context id="AsOf2023-03-23_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>2023-03-23</instant>
        </period>
    </context>
    <context id="From2023-03-212023-03-23_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>2023-03-21</startDate>
            <endDate>2023-03-23</endDate>
        </period>
    </context>
    <context id="From2023-03-212023-03-23_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_FirstInstallmentMember">
        <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:FirstInstallmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-21</startDate>
            <endDate>2023-03-23</endDate>
        </period>
    </context>
    <context id="From2023-03-212023-03-23_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_SecondInstallmentMember">
        <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:SecondInstallmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-21</startDate>
            <endDate>2023-03-23</endDate>
        </period>
    </context>
    <context id="AsOf2023-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>2023-06-30</instant>
        </period>
    </context>
    <context id="From2023-01-012023-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>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-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>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_custom_BankUnitedMember_custom_RevolvingLoanAndTermLoanMember_us-gaap_PrimeRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cvu:RevolvingLoanAndTermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30_us-gaap_PrimeRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_BankUnitedMember_custom_RevolvingLoanAndTermLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cvu:RevolvingLoanAndTermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cvu:BankUnitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-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>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-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>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_TermLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cvu:TermLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_TermLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cvu:TermLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2016-03-252023-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>2023-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="From2022-01-012022-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>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-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>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-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>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-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>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-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>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-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>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_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-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-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>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-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>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-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>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-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>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-06-30_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFiveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">cvu:CustomerFiveMember</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-06-30</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2021-05-192021-05-20">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
        </entity>
        <period>
            <startDate>2021-05-19</startDate>
            <endDate>2021-05-20</endDate>
        </period>
    </context>
    <context id="From2023-05-162023-05-17">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889348</identifier>
        </entity>
        <period>
            <startDate>2023-05-16</startDate>
            <endDate>2023-05-17</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:EntityCentralIndexKey contextRef="From2023-01-01to2023-06-30">0000889348</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag contextRef="From2023-01-01to2023-06-30">false</dei:AmendmentFlag>
    <dei:CurrentFiscalYearEndDate contextRef="From2023-01-01to2023-06-30">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus contextRef="From2023-01-01to2023-06-30">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus contextRef="From2023-01-01to2023-06-30">Q2</dei:DocumentFiscalPeriodFocus>
    <us-gaap:InsuranceSettlementsReceivableCurrent
      contextRef="AsOf2023-06-30"
      id="xdx2ixbrl0051"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:LitigationReserveCurrent
      contextRef="AsOf2023-06-30"
      id="xdx2ixbrl0099"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0271"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-03-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0272"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2022-01-012022-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0278"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0290"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-04-012022-06-30_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0291"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2022-04-012022-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0297"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0316"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-03-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0317"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0323"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember"
      id="xdx2ixbrl0335"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-04-012023-06-30_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0336"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationForfeited
      contextRef="From2023-04-012023-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0344"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2023-04-012023-06-30_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0351"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="From2022-01-012022-06-30"
      id="xdx2ixbrl0382"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProvisionForLoanAndLeaseLosses
      contextRef="From2023-01-01to2023-06-30"
      id="xdx2ixbrl0384"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="From2022-01-012022-06-30"
      id="xdx2ixbrl0448"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2023-01-01to2023-06-30"
      id="xdx2ixbrl0471"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2022-01-012022-06-30"
      id="xdx2ixbrl0472"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
      contextRef="AsOf2022-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      id="xdx2ixbrl0590"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="AsOf2022-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      id="xdx2ixbrl0592"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares
      contextRef="From2023-01-012023-06-30_us-gaap_RestrictedStockMember"
      id="xdx2ixbrl0610"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue
      contextRef="From2023-01-012023-06-30_us-gaap_RestrictedStockMember"
      id="xdx2ixbrl0612"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <dei:DocumentType contextRef="From2023-01-01to2023-06-30">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport contextRef="From2023-01-01to2023-06-30">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate contextRef="From2023-01-01to2023-06-30">2023-06-30</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport contextRef="From2023-01-01to2023-06-30">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="From2023-01-01to2023-06-30">1-11398</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="From2023-01-01to2023-06-30">CPI AEROSTRUCTURES, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="From2023-01-01to2023-06-30">NY</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="From2023-01-01to2023-06-30">11-2520310</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="From2023-01-01to2023-06-30">91 Heartland Blvd.</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="From2023-01-01to2023-06-30">Edgewood</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="From2023-01-01to2023-06-30">NY</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="From2023-01-01to2023-06-30">11717</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="From2023-01-01to2023-06-30">(631)</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="From2023-01-01to2023-06-30">586-5200</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="From2023-01-01to2023-06-30">Common stock, $0.001 par value per share</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="From2023-01-01to2023-06-30">CVU</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="From2023-01-01to2023-06-30">NYSEAMER</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus contextRef="From2023-01-01to2023-06-30">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="From2023-01-01to2023-06-30">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="From2023-01-01to2023-06-30">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="From2023-01-01to2023-06-30">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="From2023-01-01to2023-06-30">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany contextRef="From2023-01-01to2023-06-30">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding contextRef="AsOf2023-08-17" decimals="INF" unitRef="Shares">12639244</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:Cash contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">3080672</us-gaap:Cash>
    <us-gaap:Cash contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">3847225</us-gaap:Cash>
    <us-gaap:AccountsReceivableNetCurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">8621301</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">4857772</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InsuranceSettlementsReceivableCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">3600000</us-gaap:InsuranceSettlementsReceivableCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">30962061</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">27384540</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:InventoryNet contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">1918906</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">2493069</us-gaap:InventoryNet>
    <us-gaap:IncomeTaxesReceivable contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">40000</us-gaap:IncomeTaxesReceivable>
    <us-gaap:IncomeTaxesReceivable contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">40000</us-gaap:IncomeTaxesReceivable>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">565714</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">975830</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">45188654</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">43198436</us-gaap:AssetsCurrent>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">5646483</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">6526627</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">950732</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">1124556</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:DeferredIncomeTaxAssetsNet contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">6279101</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">6574463</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:Goodwill contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">1784254</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">1784254</us-gaap:Goodwill>
    <us-gaap:OtherAssetsNoncurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">234334</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">238744</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">60083558</us-gaap:Assets>
    <us-gaap:Assets contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">59447080</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">11734379</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">8029996</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">5314339</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">7344590</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:LitigationReserveCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">3600000</us-gaap:LitigationReserveCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">8605354</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">6001726</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:LossContingencyAccrualCarryingValueCurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">250516</us-gaap:LossContingencyAccrualCarryingValueCurrent>
    <us-gaap:LossContingencyAccrualCarryingValueCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">576549</us-gaap:LossContingencyAccrualCarryingValueCurrent>
    <us-gaap:LinesOfCreditCurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">2640000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:LinesOfCreditCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">1200000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:OtherLongTermDebtCurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">221172</us-gaap:OtherLongTermDebtCurrent>
    <us-gaap:OtherLongTermDebtCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">1719766</us-gaap:OtherLongTermDebtCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">1921803</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">1817811</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:TaxesPayableCurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">16874</us-gaap:TaxesPayableCurrent>
    <us-gaap:TaxesPayableCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">11396</us-gaap:TaxesPayableCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">30704437</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">30301834</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermLineOfCredit contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">18360000</us-gaap:LongTermLineOfCredit>
    <us-gaap:LongTermLineOfCredit contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">19800000</us-gaap:LongTermLineOfCredit>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">4121087</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">5077235</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OtherLongTermDebtNoncurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">41484</us-gaap:OtherLongTermDebtNoncurrent>
    <us-gaap:OtherLongTermDebtNoncurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">70981</us-gaap:OtherLongTermDebtNoncurrent>
    <us-gaap:Liabilities contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">53227008</us-gaap:Liabilities>
    <us-gaap:Liabilities contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">55250050</us-gaap:Liabilities>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2023-06-30"
      decimals="INF"
      unitRef="USDPShares">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2022-12-31"
      decimals="INF"
      unitRef="USDPShares">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized contextRef="AsOf2023-06-30" decimals="INF" unitRef="Shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized contextRef="AsOf2022-12-31" decimals="INF" unitRef="Shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued contextRef="AsOf2023-06-30" decimals="INF" unitRef="Shares">12727167</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding contextRef="AsOf2023-06-30" decimals="INF" unitRef="Shares">12727167</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued contextRef="AsOf2022-12-31" decimals="INF" unitRef="Shares">12506795</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding contextRef="AsOf2022-12-31" decimals="INF" unitRef="Shares">12506795</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">12727</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">12507</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">73708368</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">73189449</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">-66864545</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">-69004926</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">6856550</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">4197030</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">60083558</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">59447080</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">20547555</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">18925406</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">42564223</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">39060503</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfRevenue
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">15943555</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">15265716</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">33297707</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">31966204</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">4604000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">3659690</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">9266516</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">7094299</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">2806480</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">2697392</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">5675538</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">5835049</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">1797520</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">962298</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">3590978</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">1259250</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">541655</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">438437</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">1152551</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">767045</us-gaap:InterestExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">1255865</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">523861</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">2438427</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">492205</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">98789</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">6225</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">298046</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">7500</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">1157076</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">517636</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">2140381</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">484705</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2023-04-012023-06-30_custom_UnrestrictedSharesMember"
      decimals="2"
      unitRef="USDPShares">0.09</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2022-04-012022-06-30_custom_UnrestrictedSharesMember"
      decimals="2"
      unitRef="USDPShares">0.04</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2023-01-012023-06-30_custom_UnrestrictedSharesMember"
      decimals="2"
      unitRef="USDPShares">0.17</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2022-01-012022-06-30_custom_UnrestrictedSharesMember"
      decimals="2"
      unitRef="USDPShares">0.04</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2023-04-012023-06-30_custom_RestrictedSharesMember"
      decimals="2"
      unitRef="USDPShares">0.09</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2022-04-012022-06-30_custom_RestrictedSharesMember"
      decimals="2"
      unitRef="USDPShares">0.04</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2023-01-012023-06-30_custom_RestrictedSharesMember"
      decimals="2"
      unitRef="USDPShares">0.17</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2022-01-012022-06-30_custom_RestrictedSharesMember"
      decimals="2"
      unitRef="USDPShares">0.04</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2023-04-012023-06-30"
      decimals="2"
      unitRef="USDPShares">0.09</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2022-04-012022-06-30"
      decimals="2"
      unitRef="USDPShares">0.04</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2023-01-01to2023-06-30"
      decimals="2"
      unitRef="USDPShares">0.17</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2022-01-012022-06-30"
      decimals="2"
      unitRef="USDPShares">0.04</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-04-012023-06-30_custom_UnrestrictedSharesMember"
      decimals="0"
      unitRef="Shares">12429894</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-04-012022-06-30_custom_UnrestrictedSharesMember"
      decimals="0"
      unitRef="Shares">12305939</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-01-012023-06-30_custom_UnrestrictedSharesMember"
      decimals="0"
      unitRef="Shares">12412068</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-01-012022-06-30_custom_UnrestrictedSharesMember"
      decimals="0"
      unitRef="Shares">12275306</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-04-012023-06-30_custom_RestrictedSharesMember"
      decimals="0"
      unitRef="Shares">128899</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-04-012022-06-30_custom_RestrictedSharesMember"
      decimals="0"
      unitRef="Shares">133061</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-01-012023-06-30_custom_RestrictedSharesMember"
      decimals="0"
      unitRef="Shares">127584</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-01-012022-06-30_custom_RestrictedSharesMember"
      decimals="0"
      unitRef="Shares">125975</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-04-012023-06-30"
      decimals="INF"
      unitRef="Shares">12558793</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-04-012022-06-30"
      decimals="INF"
      unitRef="Shares">12439000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-01-01to2023-06-30"
      decimals="INF"
      unitRef="Shares">12539652</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-01-012022-06-30"
      decimals="INF"
      unitRef="Shares">12401281</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="Shares">12625241</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="Shares">12534058</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="Shares">12606100</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="Shares">12496339</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2021-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">12335683</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">12336</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">72833742</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">-78181151</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">-5335073</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-03-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">-32931</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-03-31"
      decimals="0"
      unitRef="USD">-32931</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="From2022-01-012022-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">47527</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2022-01-012022-03-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">47</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2022-01-012022-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">25835</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2022-01-012022-03-31"
      decimals="0"
      unitRef="USD">25882</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2022-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">12383210</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-03-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">12383</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">72859577</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-03-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">-78214082</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2022-03-31" decimals="0" unitRef="USD">-5342122</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-04-012022-06-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">517636</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">517636</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">66117</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2022-04-012022-06-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">66</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2022-04-012022-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">137432</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">137498</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2022-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">12449327</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-06-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">12449</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">72997009</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-06-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">-77696446</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">-4686988</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2022-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">12506795</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">12507</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">73189449</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">-69004926</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">4197030</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">983305</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      unitRef="USD">983305</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">19247</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">19</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2023-01-012023-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">338904</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      unitRef="USD">338923</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2023-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">12526042</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-03-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">12526</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-03-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">73528353</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-03-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">-68021621</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2023-03-31" decimals="0" unitRef="USD">5519258</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-04-012023-06-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">1157076</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">1157076</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">1157076</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationForfeited
      contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">41073</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationForfeited>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationForfeited
      contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">41</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationForfeited>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationForfeited
      contextRef="From2023-04-012023-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">7406</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationForfeited>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationForfeited
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">7447</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationForfeited>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">242198</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2023-04-012023-06-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">242</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2023-04-012023-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">187421</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">187663</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2023-06-30_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">12727167</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-06-30_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">12727</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-06-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">73708368</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-06-30_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">-66864545</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">6856550</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">2140381</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">484705</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">233090</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">343750</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">58743</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">46888</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:ShareBasedCompensation
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">519139</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">163380</us-gaap:ShareBasedCompensation>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">-295362</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:ProvisionForLoanAndLeaseLosses
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">3189</us-gaap:ProvisionForLoanAndLeaseLosses>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">3763529</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">-117972</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInsuranceSettlementsReceivable
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">-3600000</us-gaap:IncreaseDecreaseInInsuranceSettlementsReceivable>
    <us-gaap:IncreaseDecreaseInInsuranceSettlementsReceivable
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">650693</us-gaap:IncreaseDecreaseInInsuranceSettlementsReceivable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">3577521</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">3031844</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">-574163</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">-441144</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">-410116</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">-116107</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInIncomeTaxesReceivable
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">2335</us-gaap:IncreaseDecreaseInIncomeTaxesReceivable>
    <us-gaap:IncreaseDecreaseInLeasingReceivables
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">-880144</us-gaap:IncreaseDecreaseInLeasingReceivables>
    <us-gaap:IncreaseDecreaseInLeasingReceivables
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">-858812</us-gaap:IncreaseDecreaseInLeasingReceivables>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">1674132</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">-126884</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">2603628</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">-94934</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <cvu:IncreaseDecreaseInLitigationSettlementObligation
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">-3600000</cvu:IncreaseDecreaseInLitigationSettlementObligation>
    <cvu:IncreaseDecreaseInLitigationSettlementObligation
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">596741</cvu:IncreaseDecreaseInLitigationSettlementObligation>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">-852156</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">-780274</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">5478</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">-5165</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <cvu:IncreaseDecreaseInLossReserve
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">-326033</cvu:IncreaseDecreaseInLossReserve>
    <cvu:IncreaseDecreaseInLossReserve
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">-577166</cvu:IncreaseDecreaseInLossReserve>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">875137</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">-2096607</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">59265</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">25317</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">-59265</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">-25317</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">1528091</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">1560881</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">54334</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">-1582425</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">-1560881</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">-766553</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">-3682805</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">3847225</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">6308866</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">3080672</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="AsOf2022-06-30" decimals="0" unitRef="USD">2626061</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:InterestPaidNet
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">1193411</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">645423</us-gaap:InterestPaidNet>
    <us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_80B_eus-gaap--OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_zuBQn4OQsF52" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&#160;&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: 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 id="xdx_826_zajrJoGyRtB" style="text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;INTERIM FINANCIAL STATEMENTS&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_zPRVJHqjSxj9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;b&gt;&lt;span id="xdx_86B_zQZlOxwL4pw6"&gt;Basis of Presentation&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

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

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

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The condensed consolidated interim financial
statements of the Company as of June 30, 2023 and for the six months ended June 30, 2023 and 2022 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, 2022 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;/p&gt;

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

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

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

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

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company maintains its cash in four
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, 2023, the Company had $&lt;span id="xdx_903_eus-gaap--CashUninsuredAmount_iI_c20230630_zNrgpAtDs0F9" title="Uninsured balance"&gt;2,892,826&lt;/span&gt; of uninsured balances. The Company limits
its credit risk by selecting financial institutions considered to be highly creditworthy.&lt;/p&gt;

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

&lt;p id="xdx_848_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zBbHUu2NS7c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;&lt;span id="xdx_867_zyudyDM69nmj"&gt;Recently Issued Accounting Standards
- Adopted&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In the first quarter of 2023, the Company
adopted ASU 2016-13, Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments (ASU
2016-13), using a modified retrospective method, which did not result in a significant impact on the Company&#x2019;s financial
statements.&lt;/p&gt;

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

</us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_84F_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_zPRVJHqjSxj9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;b&gt;&lt;span id="xdx_86B_zQZlOxwL4pw6"&gt;Basis of Presentation&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

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

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

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The condensed consolidated interim financial
statements of the Company as of June 30, 2023 and for the six months ended June 30, 2023 and 2022 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, 2022 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;/p&gt;

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

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

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

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

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company maintains its cash in four
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, 2023, the Company had $&lt;span id="xdx_903_eus-gaap--CashUninsuredAmount_iI_c20230630_zNrgpAtDs0F9" title="Uninsured balance"&gt;2,892,826&lt;/span&gt; of uninsured balances. The Company limits
its credit risk by selecting financial institutions considered to be highly creditworthy.&lt;/p&gt;

</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:CashUninsuredAmount contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">2892826</us-gaap:CashUninsuredAmount>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_848_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zBbHUu2NS7c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;&lt;span id="xdx_867_zyudyDM69nmj"&gt;Recently Issued Accounting Standards
- Adopted&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In the first quarter of 2023, the Company
adopted ASU 2016-13, Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments (ASU
2016-13), using a modified retrospective method, which did not result in a significant impact on the Company&#x2019;s financial
statements.&lt;/p&gt;

</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_803_eus-gaap--RevenueFromContractWithCustomerTextBlock_znUr8DVyDQi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;




&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
&lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 48px"&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;/td&gt;
    &lt;td id="xdx_827_zQHNryyb3R7g" style="text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"&gt;&lt;b&gt;REVENUE RECOGNITION&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; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In accordance with Accounting Standards
Codification Topic 606 (&#x201c;ASC 606&#x201d;), the Company recognizes revenue when it transfers control of a promised good or
service to a customer in an amount that reflects the consideration it expects to be entitled to in exchange for the good or service.
The majority of the Company&#x2019;s performance obligations are satisfied over-time as the Company (i) sells products with no alternative
use to the Company and (ii) has an enforceable right to recover costs incurred plus a reasonable profit margin for work completed
to date. Under the over-time revenue recognition model, revenue and gross profit are recognized over the contract period as work
is performed based on actual costs incurred and an estimate of costs to complete and resulting total estimated costs at completion.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company also has contracts that are
considered point in time. Under the point in time revenue recognition model, revenue is recognized when control of the components
has transferred to the customer; in most cases this will be based on shipping terms.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;Contracts with Customers and Performance
Obligations&lt;/b&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The majority of the Company&#x2019;s revenues
are from long-term contracts with the U.S. government as well military and commercial contractors. The Company accounts for a contract
when it has approval and commitment from both parties, the rights of the parties are identified, payment terms are identified,
the contract has commercial substance and collectability of consideration is probable. For the Company, the contract under ASC
606 is typically established upon execution of a purchase order either in accordance with a long-term customer contract or on a
standalone basis.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;To determine the proper revenue recognition
for our contracts, we must evaluate whether two or more contracts should be combined and accounted for as a single contract, and
whether the combined or single contract should be accounted for as one performance obligation or more than one performance obligation.
This evaluation requires significant judgment, and the decision to combine a group of contracts or to separate a contract into
multiple performance obligations could change the amount of revenue and profit recorded in a period. A performance obligation is
a promise within a contract to transfer a distinct good or service to the customer in exchange for payment and is the unit of account
for recognizing revenue. The Company&#x2019;s performance obligations in its contracts with customers are typically the sale of
each individual product contemplated in the contract or a single performance obligation representing a series of products when
the contract contains multiple products that are substantially the same. The Company has elected to account for shipping performed
after control over a product has transferred to a customer as fulfillment activities. When revenue is recognized in advance of
incurring shipping costs, the costs related to the shipping are accrued. Shipping costs are included in costs of sales. The Company
provides warranties on many of its products; however, since customers cannot purchase such warranties separately and they do not
provide services beyond standard assurances, warranties are not separate performance obligations.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;A contract&#x2019;s transaction price is
allocated to each distinct performance obligation and recognized as revenue when or as the performance obligation is satisfied.
For contracts with more than one performance obligation, the Company allocates the transaction price to each performance obligation
based on its estimated standalone selling price. When standalone selling prices are not available, the transaction price is allocated
using an expected cost plus margin approach as pricing for such contracts is typically negotiated on the basis of cost.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The contracts with the U.S. government
and military contractors typically are subject to the Federal Acquisition Regulation, which provides guidance on the types of costs
that are allowable in establishing prices for goods and services provided under U.S. government contracts. The pricing for commercial
contracts is based on the specific negotiations with each customer and any taxes imposed by governmental authorities are excluded
from revenue. The transaction price is primarily comprised of fixed consideration as the customer typically pays a fixed fee for
each product sold. The Company does not adjust the amount of revenue to be recognized under a customer contract for the effects
of the time value of money when the timing difference between receipt of payment and transferring the good or service is less than
one year.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The majority of the Company&#x2019;s performance
obligations are satisfied over time as the Company (i) sells products with no alternative use to the Company and (ii) has an enforceable
right to recover costs incurred plus a reasonable profit margin for work completed to date. The Company uses the cost-to-cost input
method to measure progress for its performance obligations because it best depicts the transfer of control to the customer which
occurs as the Company incurs costs on its contracts.&lt;/p&gt;






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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company generally utilizes the portfolio
approach to estimate the amount of revenue to recognize for its contracts and groups contracts together that have similar characteristics.
Contract gross profit margins are calculated using the estimated costs for either the individual contract or the portfolio as applicable.
Significant judgment is used to determine which contracts are grouped together to form a portfolio. The portfolio approach is utilized
only when the result of the accounting is not expected to be materially different than if applied to individual contracts.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company&#x2019;s contracts are often
modified to account for changes in contract specifications and requirements. The Company considers contract modifications to exist
when the modification either creates new or changes the existing enforceable rights and obligations. The effect of a contract modification
on the transaction price, and the measure of progress for the performance obligation to which it relates, are recognized prospectively
when the remaining goods or services are distinct and on a cumulative catch-up basis when the remaining goods or services are not
distinct.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company also has contracts that are
considered point in time. Under the point in time revenue recognition model, revenue is recognized when control of the components
has transferred to the customer; in most cases this will be based on shipping terms.&lt;/p&gt;

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

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

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Certain contracts contain forms of variable
consideration, such as price discounts and performance penalties. The Company generally estimates variable consideration using
the most likely amount based on an assessment of all available information (i.e., historical experience, current and forecasted
performance) and only to the extent it is probable that a significant reversal of revenue recognized will not occur when the uncertainty
is resolved.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In applying the cost-to-cost input method,
the Company compares the actual costs incurred relative to the total estimated costs expected at completion to determine its progress
towards satisfying its performance obligation and to calculate the corresponding amount of revenue to recognize. For any costs
incurred that do not depict the Company&#x2019;s performance in transferring control of goods or services to the customer, the Company
excludes such costs from its input method measure of progress as the amounts are not reflected in the price of the contract. Costs
that are inputs to the satisfaction of a performance obligation include labor, materials and subcontractors&#x2019; costs, other
direct costs and an allocation of indirect costs.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Changes to the original estimates may be
required during the life of the contract. Estimates are reviewed quarterly and the effect of any change in the total estimated
costs expected at completion for a contract is reflected in revenue in the period the change becomes known. ASC 606 involves considerable
use of estimates and judgment in determining revenues, costs and profits and in assigning the amounts to accounting periods. For
instance, management must make assumptions and estimates regarding labor productivity and availability, the complexity of the work
to be performed, the availability of materials, the length of time to complete the performance obligation, execution by subcontractors,
the availability and timing of funding from the customer, and overhead cost rates, among other variables. The Company continually
evaluates all of the factors related to the assumptions, risks and uncertainties inherent with the application of the cost-to-cost
input method; however, it cannot be assured that estimates will be accurate. If estimates are not accurate, or a contract is terminated
which will affect estimates at completion, the Company is required to adjust revenue in the period the change is determined.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;When changes are required for the estimated
total revenue on a contract, these changes are recognized on a cumulative catch-up basis in the current period. A significant change
in one or more estimates could affect the profitability of one or more of our performance obligations. If estimates of total costs
to be incurred exceed estimates of total consideration the Company expects to receive, a provision for the remaining loss on the
contract is recorded in the period in which the loss becomes evident.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;Capitalized Contract Acquisition Costs
and Fulfillment Costs&lt;/b&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Contract acquisition costs are those incremental
costs that the Company incurs to obtain a contract with a customer that it would not have incurred if the contract had not been
obtained. The Company does not typically incur contract acquisition costs or contract fulfillment costs that are subject to capitalization
in accordance with the guidance in Accounting Standards Codification Subtopic 340-40, &#x201c;Other Assets and Deferred Costs&#x2014;Contracts
with Customers.&#x201d;&lt;/p&gt;

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



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

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

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

&lt;p id="xdx_89B_eus-gaap--DisaggregationOfRevenueTableTextBlock_zItC4dXryWqg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span id="xdx_8B3_zkes6t9fFWtk"&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;&#160;&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;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;2022&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;2022&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%"&gt;Aerostructures&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_c20230401__20230630__srt--ProductOrServiceAxis__custom--AerostructureMember_zcq0PIDWEwYc" style="width: 12%; text-align: right" title="Revenue"&gt;8,425,795&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_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630__srt--ProductOrServiceAxis__custom--AerostructureMember_zutXV2Ys2e7l" style="width: 12%; text-align: right" title="Revenue"&gt;9,819,902&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--AerostructureMember_zVjrf0Q4CB0g" style="width: 12%; text-align: right" title="Revenue"&gt;18,499,320&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_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20220630__srt--ProductOrServiceAxis__custom--AerostructureMember_zJldrCNKZBQk" style="width: 12%; text-align: right" title="Revenue"&gt;19,006,695&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;Aerosystems&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_c20230401__20230630__srt--ProductOrServiceAxis__custom--AerosystemsMember_z8pBJsFq9r29" style="text-align: right"&gt;7,567,883&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_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630__srt--ProductOrServiceAxis__custom--AerosystemsMember_z3SNbGVbixqd" style="text-align: right"&gt;5,984,045&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_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__srt--ProductOrServiceAxis__custom--AerosystemsMember_ze3fXeN0SRbf" style="text-align: right"&gt;17,120,134&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_c20220101__20220630__srt--ProductOrServiceAxis__custom--AerosystemsMember_zJD1LOpEqrV5" style="text-align: right"&gt;12,670,873&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;Kitting and Supply Chain Management&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--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__srt--ProductOrServiceAxis__custom--KittingAndSupplyChainManagementMember_zohBCNn8rim" style="border-bottom: Black 1pt solid; text-align: right"&gt;4,553,877&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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630__srt--ProductOrServiceAxis__custom--KittingAndSupplyChainManagementMember_zhW3Wwm70Rc8" style="border-bottom: Black 1pt solid; text-align: right"&gt;3,121,459&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_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__srt--ProductOrServiceAxis__custom--KittingAndSupplyChainManagementMember_zhaYSBeKNrFk" style="border-bottom: Black 1pt solid; text-align: right"&gt;6,944,769&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_c20220101__20220630__srt--ProductOrServiceAxis__custom--KittingAndSupplyChainManagementMember_zsGy6odbQ4M" style="border-bottom: Black 1pt solid; text-align: right"&gt;7,382,935&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_c20230401__20230630_z6lCJJ5igopf" 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_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630_z1lOtfS6iHji" style="border-bottom: Black 2.5pt double; text-align: right"&gt;18,925,406&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_c20230101__20230630_zP0zIs89Dr94" 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;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_c20220101__20220630_zMLdlvewiyT9" style="border-bottom: Black 2.5pt double; text-align: right"&gt;39,060,503&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;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;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;2022&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;2022&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_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_z9Grj0QhLFL1" 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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zGsqCXSAv2li" style="width: 12%; text-align: right"&gt;16,565,696&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_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zta9WbToFS8j" 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;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_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20220630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zofe1IZfLFgd" style="width: 12%; text-align: right"&gt;35,060,893&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_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zFDRvsmz8Fxc" 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_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zXnp6pcH0job" style="border-bottom: Black 1pt solid; text-align: right"&gt;2,359,710&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_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_z8bvt9zYIyW1" 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;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--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20220630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zilJg56KQdjh" style="border-bottom: Black 1pt solid; text-align: right"&gt;3,999,610&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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630_zdMkWP7BanVh" 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_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630_zzijgyX7tVG3" style="border-bottom: Black 2.5pt double; text-align: right"&gt;18,925,406&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_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630_zhugV1K7xKK9" 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;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_c20220101__20220630_zQd4Aoe5ibu1" style="border-bottom: Black 2.5pt double; text-align: right"&gt;39,060,503&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_zVcatqHMxYZ2" style="margin-top: 0; margin-bottom: 0"&gt;&#160;&lt;/p&gt;



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






&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;b&gt;Transaction Price Allocated to Remaining
Performance Obligations&lt;/b&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;As of June 30, 2023, the aggregate amount
of transaction price allocated to the remaining performance obligations was approximately $&lt;span id="xdx_900_eus-gaap--RevenueRemainingPerformanceObligation_iI_pn5n6_c20230630__us-gaap--RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis__2023-07-01_zmSxLMGL0we8" title="Remaining performance obligations"&gt;118.2&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, 2023. The majority of the Company&#x2019;s performance obligations have an average duration up to approximately &lt;span id="xdx_908_eus-gaap--RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_iI_dt_c20230630__us-gaap--RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis__2023-07-01_zJqt2GrgLi8k" title="Performance obligations duration"&gt;three
years&lt;/span&gt;.&lt;/p&gt;

</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_89B_eus-gaap--DisaggregationOfRevenueTableTextBlock_zItC4dXryWqg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span id="xdx_8B3_zkes6t9fFWtk"&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;&#160;&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;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;2022&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;2022&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%"&gt;Aerostructures&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_c20230401__20230630__srt--ProductOrServiceAxis__custom--AerostructureMember_zcq0PIDWEwYc" style="width: 12%; text-align: right" title="Revenue"&gt;8,425,795&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_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630__srt--ProductOrServiceAxis__custom--AerostructureMember_zutXV2Ys2e7l" style="width: 12%; text-align: right" title="Revenue"&gt;9,819,902&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--AerostructureMember_zVjrf0Q4CB0g" style="width: 12%; text-align: right" title="Revenue"&gt;18,499,320&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_985_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20220630__srt--ProductOrServiceAxis__custom--AerostructureMember_zJldrCNKZBQk" style="width: 12%; text-align: right" title="Revenue"&gt;19,006,695&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;Aerosystems&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_c20230401__20230630__srt--ProductOrServiceAxis__custom--AerosystemsMember_z8pBJsFq9r29" style="text-align: right"&gt;7,567,883&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_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630__srt--ProductOrServiceAxis__custom--AerosystemsMember_z3SNbGVbixqd" style="text-align: right"&gt;5,984,045&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_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__srt--ProductOrServiceAxis__custom--AerosystemsMember_ze3fXeN0SRbf" style="text-align: right"&gt;17,120,134&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_c20220101__20220630__srt--ProductOrServiceAxis__custom--AerosystemsMember_zJD1LOpEqrV5" style="text-align: right"&gt;12,670,873&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;Kitting and Supply Chain Management&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--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__srt--ProductOrServiceAxis__custom--KittingAndSupplyChainManagementMember_zohBCNn8rim" style="border-bottom: Black 1pt solid; text-align: right"&gt;4,553,877&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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630__srt--ProductOrServiceAxis__custom--KittingAndSupplyChainManagementMember_zhW3Wwm70Rc8" style="border-bottom: Black 1pt solid; text-align: right"&gt;3,121,459&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_980_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__srt--ProductOrServiceAxis__custom--KittingAndSupplyChainManagementMember_zhaYSBeKNrFk" style="border-bottom: Black 1pt solid; text-align: right"&gt;6,944,769&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_c20220101__20220630__srt--ProductOrServiceAxis__custom--KittingAndSupplyChainManagementMember_zsGy6odbQ4M" style="border-bottom: Black 1pt solid; text-align: right"&gt;7,382,935&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_c20230401__20230630_z6lCJJ5igopf" 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_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630_z1lOtfS6iHji" style="border-bottom: Black 2.5pt double; text-align: right"&gt;18,925,406&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_c20230101__20230630_zP0zIs89Dr94" 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;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_c20220101__20220630_zMLdlvewiyT9" style="border-bottom: Black 2.5pt double; text-align: right"&gt;39,060,503&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;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;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;2022&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;2022&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_986_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_z9Grj0QhLFL1" 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_98F_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zGsqCXSAv2li" style="width: 12%; text-align: right"&gt;16,565,696&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_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zta9WbToFS8j" 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;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_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20220630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredOverTimeMember_zofe1IZfLFgd" style="width: 12%; text-align: right"&gt;35,060,893&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_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zFDRvsmz8Fxc" 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_983_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zXnp6pcH0job" style="border-bottom: Black 1pt solid; text-align: right"&gt;2,359,710&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_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_z8bvt9zYIyW1" 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;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--RevenueFromContractWithCustomerExcludingAssessedTax_c20220101__20220630__us-gaap--TimingOfTransferOfGoodOrServiceAxis__us-gaap--TransferredAtPointInTimeMember_zilJg56KQdjh" style="border-bottom: Black 1pt solid; text-align: right"&gt;3,999,610&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_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230401__20230630_zdMkWP7BanVh" 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_988_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20220401__20220630_zzijgyX7tVG3" style="border-bottom: Black 2.5pt double; text-align: right"&gt;18,925,406&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_98E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_c20230101__20230630_zhugV1K7xKK9" 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;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_c20220101__20220630_zQd4Aoe5ibu1" style="border-bottom: Black 2.5pt double; text-align: right"&gt;39,060,503&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="From2023-04-012023-06-30_custom_AerostructureMember"
      decimals="0"
      unitRef="USD">8425795</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-04-012022-06-30_custom_AerostructureMember"
      decimals="0"
      unitRef="USD">9819902</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-06-30_custom_AerostructureMember"
      decimals="0"
      unitRef="USD">18499320</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-06-30_custom_AerostructureMember"
      decimals="0"
      unitRef="USD">19006695</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-04-012023-06-30_custom_AerosystemsMember"
      decimals="0"
      unitRef="USD">7567883</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-04-012022-06-30_custom_AerosystemsMember"
      decimals="0"
      unitRef="USD">5984045</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-06-30_custom_AerosystemsMember"
      decimals="0"
      unitRef="USD">17120134</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-06-30_custom_AerosystemsMember"
      decimals="0"
      unitRef="USD">12670873</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-04-012023-06-30_custom_KittingAndSupplyChainManagementMember"
      decimals="0"
      unitRef="USD">4553877</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-04-012022-06-30_custom_KittingAndSupplyChainManagementMember"
      decimals="0"
      unitRef="USD">3121459</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-06-30_custom_KittingAndSupplyChainManagementMember"
      decimals="0"
      unitRef="USD">6944769</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-06-30_custom_KittingAndSupplyChainManagementMember"
      decimals="0"
      unitRef="USD">7382935</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">20547555</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">18925406</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">42564223</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">39060503</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-04-012023-06-30_us-gaap_TransferredOverTimeMember"
      decimals="0"
      unitRef="USD">18669843</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-04-012022-06-30_us-gaap_TransferredOverTimeMember"
      decimals="0"
      unitRef="USD">16565696</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-06-30_us-gaap_TransferredOverTimeMember"
      decimals="0"
      unitRef="USD">39300073</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-06-30_us-gaap_TransferredOverTimeMember"
      decimals="0"
      unitRef="USD">35060893</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-04-012023-06-30_us-gaap_TransferredAtPointInTimeMember"
      decimals="0"
      unitRef="USD">1877712</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-04-012022-06-30_us-gaap_TransferredAtPointInTimeMember"
      decimals="0"
      unitRef="USD">2359710</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-06-30_us-gaap_TransferredAtPointInTimeMember"
      decimals="0"
      unitRef="USD">3264150</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-06-30_us-gaap_TransferredAtPointInTimeMember"
      decimals="0"
      unitRef="USD">3999610</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">20547555</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">18925406</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">42564223</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">39060503</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="AsOf2023-06-30_2023-07-01"
      decimals="-5"
      unitRef="USD">118200000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 contextRef="AsOf2023-06-30_2023-07-01">P3Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <cvu:ContractWithCustomerAssetAndLiabilityTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_801_ecustom--ContractWithCustomerAssetAndLiabilityTextBlock_zbNn7rMdn0ii" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
&lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 48px; font-size: 10pt"&gt;&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;/td&gt;
    &lt;td id="xdx_822_zWPO9mDDZj5j" style="text-align: justify; font-size: 10pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"&gt;&lt;b&gt;CONTRACT ASSETS AND LIABILITIES&lt;/b&gt;&lt;/span&gt;&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="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&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;/p&gt;

&lt;p id="xdx_891_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_zwjC4UujYJMj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span id="xdx_8BF_z5KzVJQfDan1" style="display: none; visibility: hidden"&gt;Schedule of contract assets and liabilities&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 70%; border-collapse: collapse"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20230630_zQ9HjT39jDtk" style="text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20221231_zndGjjupU4B4" style="text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td 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;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;2022&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_403_eus-gaap--ContractWithCustomerAssetNet_iI_maNCAz5zf_zF1lgIW2Dtf4" style="background-color: #CCEEFF"&gt;
    &lt;td style="vertical-align: bottom; width: 40%"&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;&#160;&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;30,962,061&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&#160;&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: bottom; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;27,384,540&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_403_eus-gaap--ContractWithCustomerLiability_iI_msNCAz5zf_z21NM7soBdl2" 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;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&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;8,605,354&lt;/span&gt;&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="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;6,001,726&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_400_ecustom--NetContractAssets_iTI_mtNCAz5zf_zf0QpYpqG9u7" style="background-color: #CCEEFF"&gt;
    &lt;td style="vertical-align: bottom; padding-left: 0.125in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Net Contract assets&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt 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.5pt double; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;22,356,707&lt;/span&gt;&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="border-bottom: black 2.5pt 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.5pt double; vertical-align: bottom; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;21,382,814&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;p id="xdx_8AE_zZkFRCcOgDug" style="margin-top: 0; margin-bottom: 0"&gt;&#160;&lt;/p&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Revenue recognized for the six months ended
June 30, 2023 and 2022 that was included in the contract liabilities balance as of January 1, 2023 and 2022, respectively, was
approximately $&lt;span id="xdx_904_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pn5n6_c20230101__20230630_z4oR21n6WW4j" title="Revenue recognized that was included in contract liabilities"&gt;1.9&lt;/span&gt; million and $&lt;span id="xdx_909_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pn5n6_c20220101__20220630_zLeOm91MEnTc"&gt;3.2&lt;/span&gt; million, respectively.&lt;/p&gt;

</cvu:ContractWithCustomerAssetAndLiabilityTextBlock>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_891_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_zwjC4UujYJMj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span id="xdx_8BF_z5KzVJQfDan1" style="display: none; visibility: hidden"&gt;Schedule of contract assets and liabilities&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 70%; border-collapse: collapse"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20230630_zQ9HjT39jDtk" style="text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20221231_zndGjjupU4B4" style="text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;December 31,&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td 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;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;2022&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_403_eus-gaap--ContractWithCustomerAssetNet_iI_maNCAz5zf_zF1lgIW2Dtf4" style="background-color: #CCEEFF"&gt;
    &lt;td style="vertical-align: bottom; width: 40%"&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;&#160;&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;30,962,061&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&#160;&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: bottom; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;27,384,540&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_403_eus-gaap--ContractWithCustomerLiability_iI_msNCAz5zf_z21NM7soBdl2" 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;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&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;8,605,354&lt;/span&gt;&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="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;6,001,726&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_400_ecustom--NetContractAssets_iTI_mtNCAz5zf_zf0QpYpqG9u7" style="background-color: #CCEEFF"&gt;
    &lt;td style="vertical-align: bottom; padding-left: 0.125in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Net Contract assets&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt 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.5pt double; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;22,356,707&lt;/span&gt;&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="border-bottom: black 2.5pt 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.5pt double; vertical-align: bottom; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;21,382,814&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerAssetNet contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">30962061</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerAssetNet contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">27384540</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerLiability contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">8605354</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">6001726</us-gaap:ContractWithCustomerLiability>
    <cvu:NetContractAssets contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">22356707</cvu:NetContractAssets>
    <cvu:NetContractAssets contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">21382814</cvu:NetContractAssets>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="From2023-01-01to2023-06-30"
      decimals="-5"
      unitRef="USD">1900000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="From2022-01-012022-06-30"
      decimals="-5"
      unitRef="USD">3200000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:InventoryDisclosureTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_804_eus-gaap--InventoryDisclosureTextBlock_zv2un6gc91Q1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
&lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 48px"&gt;&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;/td&gt;
    &lt;td id="xdx_829_zaQ1YFgA5gf2" style="text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"&gt;&lt;b&gt;INVENTORY&lt;/b&gt;&lt;/span&gt;&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 id="xdx_893_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zvk7RQZySoyf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span id="xdx_8BD_zyra91V6mprh"&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;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 70%; border-collapse: collapse"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20230630_zTZXwrbUlRu4" 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;b&gt;June 30, &lt;/b&gt;&lt;/p&gt;
        &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&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"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20221231_z1xp1pndI741" 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;b&gt;December 31,&lt;/b&gt;&lt;/p&gt;
        &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40E_eus-gaap--InventoryRawMaterials_iI_maIGzpSz_zwjpZHyFCYze" style="background-color: #CCEEFF"&gt;
    &lt;td style="vertical-align: bottom; width: 40%; 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;&#160;&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;1,822,930&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&#160;&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: bottom; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;1,892,157&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40C_eus-gaap--InventoryWorkInProcess_iI_maIGzpSz_zODG1BxsIE5a" 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;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&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;216,908&lt;/span&gt;&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 style="vertical-align: bottom; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;685,438&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_409_eus-gaap--InventoryFinishedGoods_iI_maIGzpSz_zx59fbFTacSb" style="background-color: #CCEEFF"&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;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&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;2,293,217&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3,038,859&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40A_eus-gaap--InventoryGross_iTI_mtIGzpSz_maINzM3w_zbVuRwFJHoW4" style="background-color: white"&gt;
    &lt;td style="vertical-align: bottom; padding-left: 9pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Gross inventory&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&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;4,333,055&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;5,616,454&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_400_eus-gaap--InventoryValuationReserves_iNI_di_msINzM3w_zCERClhClMfe" style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td style="padding-left: 9pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Inventory reserves&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(2,414,149&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;)&lt;/span&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"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(3,123,386&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;)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_408_eus-gaap--InventoryNet_iTI_mtINzM3w_zwwDCNlUDDLc" style="vertical-align: bottom; background-color: white"&gt;
    &lt;td style="padding-left: 9pt; text-align: justify"&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&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt double"&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.5pt double; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;1,918,906&lt;/span&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"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt double"&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.5pt double; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2,493,069&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt double"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p id="xdx_8AB_zwsdQXB2jJml" style="margin-top: 0; margin-bottom: 0"&gt;&#160;&lt;/p&gt;

</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_893_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zvk7RQZySoyf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span id="xdx_8BD_zyra91V6mprh"&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;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 70%; border-collapse: collapse"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20230630_zTZXwrbUlRu4" 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;b&gt;June 30, &lt;/b&gt;&lt;/p&gt;
        &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&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"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20221231_z1xp1pndI741" 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;b&gt;December 31,&lt;/b&gt;&lt;/p&gt;
        &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40E_eus-gaap--InventoryRawMaterials_iI_maIGzpSz_zwjpZHyFCYze" style="background-color: #CCEEFF"&gt;
    &lt;td style="vertical-align: bottom; width: 40%; 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;&#160;&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;1,822,930&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&#160;&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: bottom; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;1,892,157&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40C_eus-gaap--InventoryWorkInProcess_iI_maIGzpSz_zODG1BxsIE5a" 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;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&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;216,908&lt;/span&gt;&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 style="vertical-align: bottom; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;685,438&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_409_eus-gaap--InventoryFinishedGoods_iI_maIGzpSz_zx59fbFTacSb" style="background-color: #CCEEFF"&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;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&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;2,293,217&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3,038,859&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40A_eus-gaap--InventoryGross_iTI_mtIGzpSz_maINzM3w_zbVuRwFJHoW4" style="background-color: white"&gt;
    &lt;td style="vertical-align: bottom; padding-left: 9pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Gross inventory&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&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;4,333,055&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;5,616,454&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_400_eus-gaap--InventoryValuationReserves_iNI_di_msINzM3w_zCERClhClMfe" style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td style="padding-left: 9pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Inventory reserves&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(2,414,149&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;)&lt;/span&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"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(3,123,386&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;)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_408_eus-gaap--InventoryNet_iTI_mtINzM3w_zwwDCNlUDDLc" style="vertical-align: bottom; background-color: white"&gt;
    &lt;td style="padding-left: 9pt; text-align: justify"&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&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt double"&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.5pt double; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;1,918,906&lt;/span&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"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt double"&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.5pt double; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2,493,069&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt double"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterials contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">1822930</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">1892157</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryWorkInProcess contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">216908</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryWorkInProcess contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">685438</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryFinishedGoods contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">2293217</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">3038859</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryGross contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">4333055</us-gaap:InventoryGross>
    <us-gaap:InventoryGross contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">5616454</us-gaap:InventoryGross>
    <us-gaap:InventoryValuationReserves contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">2414149</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">3123386</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryNet contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">1918906</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">2493069</us-gaap:InventoryNet>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_80A_eus-gaap--DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_zvHG8scIXm4j" style="margin-top: 0; margin-bottom: 0"&gt;&#160;&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: 48px"&gt;&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;/td&gt;
    &lt;td id="xdx_822_z0NlAeLJVAd3" style="text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"&gt;&lt;b&gt;STOCK-BASED COMPENSATION&lt;/b&gt;&lt;/span&gt;&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 id="xdx_89D_eus-gaap--ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_zwzD8wWg4aRb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="background-color: white"&gt;&lt;span id="xdx_8B4_zBY5DzGGxCw1"&gt;Stock-based
compensation expense for restricted stock in the consolidated statements of operations is summarized 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;&#160;&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: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_499_20230401__20230630_zA6AYdzFTEte" style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_498_20220401__20220630_zbMiBtTK18yh" style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_495_20230101__20230630_zHI45STxUez2" style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_49B_20220101__20220630_z2vMMd9fmwZ8" style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td 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;/span&gt;&lt;br/&gt;
&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;/span&gt;&lt;br/&gt;
&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td 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;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;2022&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;2022&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40F_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--CostOfSalesMember_zKk4JxXX4TC9" style="background-color: #CCEEFF"&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;&#160;&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;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&#160;&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: bottom; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;6,471&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&#160;&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;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&#160;&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: bottom; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;20,006&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_401_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--SellingGeneralAndAdministrativeExpensesMember_zOqkPyg1l92f"&gt;
    &lt;td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt"&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; background-color: white; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; vertical-align: bottom; background-color: white"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; vertical-align: top; background-color: white; 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; background-color: white; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; vertical-align: bottom; background-color: white"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; vertical-align: bottom; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;131,027&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; vertical-align: bottom; background-color: white"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; vertical-align: top; background-color: white; 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; background-color: white; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; vertical-align: bottom; background-color: white"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; vertical-align: bottom; background-color: white; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;143,374&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40A_eus-gaap--AllocatedShareBasedCompensationExpense_zWmilNFzXT6h" 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;Total stock-based compensation expense&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt 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.5pt 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;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt 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.5pt double; vertical-align: bottom; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;137,498&lt;/span&gt;&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="border-bottom: black 2.5pt 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.5pt 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;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt 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.5pt double; vertical-align: bottom; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;163,380&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;p id="xdx_8A1_zOVBx3VYhCcc" style="margin-top: 0; margin-bottom: 0"&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="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 one-year period.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="background-color: white"&gt;The
Company grants shares of common stock (&#x201c;Restricted Stock Awards&#x201d;) to select employees. In the event that the employee&#x2019;s
employment is voluntarily terminated prior to certain vesting dates, portions of the shares may be forfeited. In addition, if certain
Company performance criteria are not achieved, portions of these shares may be forfeited. &lt;span id="xdx_90A_eus-gaap--StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited_pid_uShares_c20230101__20230630_zqOQpdAiSNo3" title="Shares forfeited"&gt;85,748&lt;/span&gt; shares were forfeited during the
six months ended June 30, 2022, resulting in a reduction to stock-based compensation expense for the six months ended June 30,
2022 in selling, general and administrative expense of $&lt;span id="xdx_90D_eus-gaap--AllocatedShareBasedCompensationExpense_iN_di_c20220101__20220630__us-gaap--AwardTypeAxis__custom--ForfeitedRestrictedStockMember__us-gaap--IncomeStatementLocationAxis__us-gaap--SellingGeneralAndAdministrativeExpensesMember_zEbYixE1R1Cd" title="Stock-based compensation"&gt;263,148&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;&#160;&lt;/p&gt;

&lt;p id="xdx_892_eus-gaap--ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_zsaMJQT5DeCb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span id="xdx_8BF_zVIMi02o3eIk"&gt;The
following table summarizes activity related to outstanding RSUs and Restricted Stock Awards for the six months ended 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;&#160;&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: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;Restricted Stock Awards&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" 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;b&gt;Weighted Average&lt;/b&gt;&lt;/p&gt;
        &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;b&gt;Grant Date&lt;/b&gt;&lt;/p&gt;
        &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;b&gt;Fair Value of Restricted Stock
Awards&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;RSUs&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" 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;b&gt;Weighted Average&lt;/b&gt;&lt;/p&gt;
        &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;b&gt;Grant Date&lt;/b&gt;&lt;/p&gt;
        &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;b&gt;Fair Value of RSUs&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td style="width: 39%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Non-vested &#x2013; January 1, 2023&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_98D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iS_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zmGsKV6UJRw3" style="width: 12%; text-align: right" title="Non vested January 1, 2022"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;239,184&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="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 id="xdx_98E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zukYzmCr4wUj" style="width: 12%; text-align: right" title="Non vested January 1, 2022"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2.32&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iS_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z8y2ta98CM91" style="width: 12%; text-align: right" title="Non vested January 1, 2022"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0590"&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="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 id="xdx_984_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z9hsJbG8g9z9" style="width: 12%; text-align: right" title="Non vested January 1, 2022"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0592"&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr 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;Granted&lt;/span&gt;&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_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zdoDzWknwLXf" style="vertical-align: bottom; text-align: right" title="Granted"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;212,902&lt;/span&gt;&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zdYZirVOWsa4" style="vertical-align: bottom; text-align: right" title="Granted"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3.82&lt;/span&gt;&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_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zkzJ20RVbCyl" style="vertical-align: bottom; text-align: right" title="Granted"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;170,042&lt;/span&gt;&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zFGYlVTkMySb" style="vertical-align: top; text-align: right" title="Granted"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3.44&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: #CCEEFF"&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Vested&lt;/span&gt;&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_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_iN_pid_di_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zvWV4upBAF02" style="vertical-align: bottom; text-align: right" title="Vested"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(82,769)&lt;/span&gt;&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_z8tcZxoMvXac" style="vertical-align: bottom; text-align: right" title="Vested"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2.83&lt;/span&gt;&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_984_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_iN_pid_di_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zF2HWXjck2r2" style="vertical-align: bottom; text-align: right" title="Vested"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(69,845&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;)&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="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 id="xdx_987_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z36NpoJKzlf9" style="vertical-align: top; text-align: right" title="Vested"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3.42&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr 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;Forfeited&lt;/span&gt;&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="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_986_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_iN_pid_di_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_z2iJznfvRpIf" style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: right" title="Forfeited"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0610"&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&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="border-bottom: black 1pt solid; 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 id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zfszED32yA64" style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: right" title="Forfeited"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0612"&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&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="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_98E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_iN_pid_di_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zEZWxYVV0w3b" style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: right" title="Forfeited"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(33,749&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;)&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&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;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_989_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zMUgvBekc9ei" style="border-bottom: black 1pt solid; vertical-align: top; text-align: right" title="Forfeited"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3.42&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: #CCEEFF"&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Non-vested &#x2013; June 30, 2023&lt;/span&gt;&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="border-bottom: black 2.5pt double; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_983_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iE_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zVUz3xfOXGMi" style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right" title="Non vested December 31, 2022"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;369,317&lt;/span&gt;&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="border-bottom: black 2.5pt 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 id="xdx_983_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zNXbWeid3W87" style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right" title="Non vested December 31, 2022"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3.25&lt;/span&gt;&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="border-bottom: black 2.5pt double; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iE_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zl2vZUG58Fd3" style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right" title="Non vested December 31, 2022"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;66,448&lt;/span&gt;&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="border-bottom: black 2.5pt 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 id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zdzwrBp4K97b" style="border-bottom: black 2.5pt double; vertical-align: top; text-align: right" title="Non vested December 31, 2022"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3.47&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;p id="xdx_8A5_zIPQFiHTTz3g" style="margin-top: 0; margin-bottom: 0"&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="background-color: white"&gt;As
of June 30, 2023, unamortized stock-based compensation costs related to restricted share arrangements was $&lt;/span&gt;&lt;span id="xdx_908_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_iI_c20230630_zpxKaJ7rHfP4" title="Unamortized stock-based compensation costs"&gt;514,880&lt;/span&gt;&lt;span style="background-color: white"&gt;.&lt;/span&gt;&lt;/p&gt;

</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_89D_eus-gaap--ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_zwzD8wWg4aRb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="background-color: white"&gt;&lt;span id="xdx_8B4_zBY5DzGGxCw1"&gt;Stock-based
compensation expense for restricted stock in the consolidated statements of operations is summarized 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;&#160;&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: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_499_20230401__20230630_zA6AYdzFTEte" style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_498_20220401__20220630_zbMiBtTK18yh" style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_495_20230101__20230630_zHI45STxUez2" style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_49B_20220101__20220630_z2vMMd9fmwZ8" style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td 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;/span&gt;&lt;br/&gt;
&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;/span&gt;&lt;br/&gt;
&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td 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;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;2022&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;2022&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40F_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--CostOfSalesMember_zKk4JxXX4TC9" style="background-color: #CCEEFF"&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;&#160;&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;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&#160;&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: bottom; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;6,471&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&#160;&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;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&#160;&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: bottom; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;20,006&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; width: 1%"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_401_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--IncomeStatementLocationAxis__us-gaap--SellingGeneralAndAdministrativeExpensesMember_zOqkPyg1l92f"&gt;
    &lt;td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt"&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; background-color: white; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; vertical-align: bottom; background-color: white"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; vertical-align: top; background-color: white; 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; background-color: white; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; vertical-align: bottom; background-color: white"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; vertical-align: bottom; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;131,027&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; vertical-align: bottom; background-color: white"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; vertical-align: top; background-color: white; 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; background-color: white; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; vertical-align: bottom; background-color: white"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; vertical-align: bottom; background-color: white; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;143,374&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom; background-color: white; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40A_eus-gaap--AllocatedShareBasedCompensationExpense_zWmilNFzXT6h" 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;Total stock-based compensation expense&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt 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.5pt 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;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt 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.5pt double; vertical-align: bottom; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;137,498&lt;/span&gt;&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="border-bottom: black 2.5pt 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.5pt 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;&#160;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt 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.5pt double; vertical-align: bottom; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;163,380&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&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"
      unitRef="USD">37171</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2022-04-012022-06-30_us-gaap_CostOfSalesMember"
      decimals="0"
      unitRef="USD">6471</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-01-012023-06-30_us-gaap_CostOfSalesMember"
      decimals="0"
      unitRef="USD">52248</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2022-01-012022-06-30_us-gaap_CostOfSalesMember"
      decimals="0"
      unitRef="USD">20006</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-04-012023-06-30_us-gaap_SellingGeneralAndAdministrativeExpensesMember"
      decimals="0"
      unitRef="USD">143045</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2022-04-012022-06-30_us-gaap_SellingGeneralAndAdministrativeExpensesMember"
      decimals="0"
      unitRef="USD">131027</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-01-012023-06-30_us-gaap_SellingGeneralAndAdministrativeExpensesMember"
      decimals="0"
      unitRef="USD">466891</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2022-01-012022-06-30_us-gaap_SellingGeneralAndAdministrativeExpensesMember"
      decimals="0"
      unitRef="USD">143374</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">180216</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">137498</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">519139</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">163380</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited
      contextRef="From2023-01-01to2023-06-30"
      decimals="INF"
      unitRef="Shares">85748</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2022-01-012022-06-30_custom_ForfeitedRestrictedStockMember_us-gaap_SellingGeneralAndAdministrativeExpensesMember"
      decimals="0"
      unitRef="USD">-263148</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_892_eus-gaap--ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_zsaMJQT5DeCb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span id="xdx_8BF_zVIMi02o3eIk"&gt;The
following table summarizes activity related to outstanding RSUs and Restricted Stock Awards for the six months ended 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;&#160;&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: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;Restricted Stock Awards&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" 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;b&gt;Weighted Average&lt;/b&gt;&lt;/p&gt;
        &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;b&gt;Grant Date&lt;/b&gt;&lt;/p&gt;
        &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;b&gt;Fair Value of Restricted Stock
Awards&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;RSUs&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" 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;b&gt;Weighted Average&lt;/b&gt;&lt;/p&gt;
        &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;b&gt;Grant Date&lt;/b&gt;&lt;/p&gt;
        &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;b&gt;Fair Value of RSUs&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td style="width: 39%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Non-vested &#x2013; January 1, 2023&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_98D_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iS_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zmGsKV6UJRw3" style="width: 12%; text-align: right" title="Non vested January 1, 2022"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;239,184&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="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 id="xdx_98E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zukYzmCr4wUj" style="width: 12%; text-align: right" title="Non vested January 1, 2022"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2.32&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iS_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z8y2ta98CM91" style="width: 12%; text-align: right" title="Non vested January 1, 2022"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0590"&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="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 id="xdx_984_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z9hsJbG8g9z9" style="width: 12%; text-align: right" title="Non vested January 1, 2022"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0592"&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr 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;Granted&lt;/span&gt;&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_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zdoDzWknwLXf" style="vertical-align: bottom; text-align: right" title="Granted"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;212,902&lt;/span&gt;&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zdYZirVOWsa4" style="vertical-align: bottom; text-align: right" title="Granted"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3.82&lt;/span&gt;&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_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zkzJ20RVbCyl" style="vertical-align: bottom; text-align: right" title="Granted"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;170,042&lt;/span&gt;&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zFGYlVTkMySb" style="vertical-align: top; text-align: right" title="Granted"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3.44&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: #CCEEFF"&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Vested&lt;/span&gt;&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_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_iN_pid_di_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zvWV4upBAF02" style="vertical-align: bottom; text-align: right" title="Vested"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(82,769)&lt;/span&gt;&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;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_z8tcZxoMvXac" style="vertical-align: bottom; text-align: right" title="Vested"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2.83&lt;/span&gt;&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_984_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares_iN_pid_di_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zF2HWXjck2r2" style="vertical-align: bottom; text-align: right" title="Vested"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(69,845&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;)&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="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 id="xdx_987_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z36NpoJKzlf9" style="vertical-align: top; text-align: right" title="Vested"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3.42&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr 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;Forfeited&lt;/span&gt;&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="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_986_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_iN_pid_di_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_z2iJznfvRpIf" style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: right" title="Forfeited"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0610"&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&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="border-bottom: black 1pt solid; 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 id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zfszED32yA64" style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: right" title="Forfeited"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0612"&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&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="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_98E_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares_iN_pid_di_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zEZWxYVV0w3b" style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: right" title="Forfeited"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(33,749&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;)&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&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;$&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_989_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zMUgvBekc9ei" style="border-bottom: black 1pt solid; vertical-align: top; text-align: right" title="Forfeited"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3.42&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="background-color: #CCEEFF"&gt;
    &lt;td style="vertical-align: bottom"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Non-vested &#x2013; June 30, 2023&lt;/span&gt;&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="border-bottom: black 2.5pt double; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_983_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iE_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zVUz3xfOXGMi" style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right" title="Non vested December 31, 2022"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;369,317&lt;/span&gt;&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="border-bottom: black 2.5pt 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 id="xdx_983_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zNXbWeid3W87" style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right" title="Non vested December 31, 2022"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3.25&lt;/span&gt;&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="border-bottom: black 2.5pt double; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iE_pid_uShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zl2vZUG58Fd3" style="border-bottom: black 2.5pt double; vertical-align: bottom; text-align: right" title="Non vested December 31, 2022"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;66,448&lt;/span&gt;&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="border-bottom: black 2.5pt 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 id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_uUSDPShares_c20230101__20230630__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zdzwrBp4K97b" style="border-bottom: black 2.5pt double; vertical-align: top; text-align: right" title="Non vested December 31, 2022"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;3.47&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

</us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
      contextRef="AsOf2022-12-31_us-gaap_RestrictedStockMember"
      decimals="INF"
      unitRef="Shares">239184</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="AsOf2022-12-31_us-gaap_RestrictedStockMember"
      decimals="INF"
      unitRef="USDPShares">2.32</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2023-01-012023-06-30_us-gaap_RestrictedStockMember"
      decimals="INF"
      unitRef="Shares">212902</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2023-01-012023-06-30_us-gaap_RestrictedStockMember"
      decimals="INF"
      unitRef="USDPShares">3.82</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2023-01-012023-06-30_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      unitRef="Shares">170042</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2023-01-012023-06-30_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      unitRef="USDPShares">3.44</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
      contextRef="From2023-01-012023-06-30_us-gaap_RestrictedStockMember"
      decimals="INF"
      unitRef="Shares">82769</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue
      contextRef="From2023-01-012023-06-30_us-gaap_RestrictedStockMember"
      decimals="INF"
      unitRef="USDPShares">2.83</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
      contextRef="From2023-01-012023-06-30_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      unitRef="Shares">69845</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue
      contextRef="From2023-01-012023-06-30_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      unitRef="USDPShares">3.42</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares
      contextRef="From2023-01-012023-06-30_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      unitRef="Shares">33749</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue
      contextRef="From2023-01-012023-06-30_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      unitRef="USDPShares">3.42</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
      contextRef="AsOf2023-06-30_us-gaap_RestrictedStockMember"
      decimals="INF"
      unitRef="Shares">369317</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="AsOf2023-06-30_us-gaap_RestrictedStockMember"
      decimals="INF"
      unitRef="USDPShares">3.25</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
      contextRef="AsOf2023-06-30_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      unitRef="Shares">66448</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="AsOf2023-06-30_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      unitRef="USDPShares">3.47</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">514880</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:FairValueDisclosuresTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_807_eus-gaap--FairValueDisclosuresTextBlock_zvzJHT069o01" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
&lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 48px"&gt;&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;/td&gt;
    &lt;td id="xdx_82F_zm8xOPTjFsmk" style="text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"&gt;&lt;b&gt;FAIR VALUE&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="text-decoration: underline"&gt;Fair Value&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_89D_eus-gaap--FairValueByBalanceSheetGroupingTextBlock_ziLOxo1fZGYd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span id="xdx_8B8_zBcxLS6zvhNk"&gt;At June 30, 2023 and December 31, 2022,
the fair values of cash, accounts receivable and accounts payable approximated their carrying values because of the short-term
nature of these instruments.&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;June 30, 2023&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" 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;b&gt;Carrying&lt;/b&gt;&lt;/p&gt;
        &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;b&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;Fair Value&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&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;Debt&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td style="width: 74%; padding-left: 9pt; text-align: justify; text-indent: -9pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Short-term borrowings and long-term debt&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt double; 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 id="xdx_988_eus-gaap--DebtInstrumentFairValue_iI_c20230630__us-gaap--FairValueByMeasurementBasisAxis__us-gaap--CarryingReportedAmountFairValueDisclosureMember_zsXV5bw5zxTl" style="border-bottom: black 2.5pt double; width: 10%; text-align: right" title="Short-term borrowings and long-term debt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;21,262,656&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt double; 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 id="xdx_986_eus-gaap--DebtInstrumentFairValue_iI_c20230630__us-gaap--FairValueByMeasurementBasisAxis__us-gaap--EstimateOfFairValueFairValueDisclosureMember_zjc9ksZIKFWi" style="border-bottom: black 2.5pt double; width: 10%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;21,262,656&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&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: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;December 31, 2022&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" 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;b&gt;Carrying&lt;/b&gt;&lt;/p&gt;
        &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;b&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;Fair Value&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&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;Debt&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td style="width: 74%; padding-left: 9pt; text-align: justify; text-indent: -9pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Short-term borrowings and long-term debt&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt double; 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 id="xdx_988_eus-gaap--DebtInstrumentFairValue_iI_c20221231__us-gaap--FairValueByMeasurementBasisAxis__us-gaap--CarryingReportedAmountFairValueDisclosureMember_zYl79NiaxwZf" style="border-bottom: black 2.5pt double; width: 10%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;22,790,747&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt double; 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 id="xdx_985_eus-gaap--DebtInstrumentFairValue_iI_c20221231__us-gaap--FairValueByMeasurementBasisAxis__us-gaap--EstimateOfFairValueFairValueDisclosureMember_z5uraTkpJp8a" style="border-bottom: black 2.5pt double; width: 10%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;22,790,747&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p id="xdx_8AB_z5CrvPvwIGsa" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;We estimated the fair value of debt using market quotes and
calculations based on market rates.&lt;/p&gt;

</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:FairValueByBalanceSheetGroupingTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_89D_eus-gaap--FairValueByBalanceSheetGroupingTextBlock_ziLOxo1fZGYd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span id="xdx_8B8_zBcxLS6zvhNk"&gt;At June 30, 2023 and December 31, 2022,
the fair values of cash, accounts receivable and accounts payable approximated their carrying values because of the short-term
nature of these instruments.&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;June 30, 2023&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" 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;b&gt;Carrying&lt;/b&gt;&lt;/p&gt;
        &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;b&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;Fair Value&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&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;Debt&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td style="width: 74%; padding-left: 9pt; text-align: justify; text-indent: -9pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Short-term borrowings and long-term debt&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt double; 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 id="xdx_988_eus-gaap--DebtInstrumentFairValue_iI_c20230630__us-gaap--FairValueByMeasurementBasisAxis__us-gaap--CarryingReportedAmountFairValueDisclosureMember_zsXV5bw5zxTl" style="border-bottom: black 2.5pt double; width: 10%; text-align: right" title="Short-term borrowings and long-term debt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;21,262,656&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt double; 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 id="xdx_986_eus-gaap--DebtInstrumentFairValue_iI_c20230630__us-gaap--FairValueByMeasurementBasisAxis__us-gaap--EstimateOfFairValueFairValueDisclosureMember_zjc9ksZIKFWi" style="border-bottom: black 2.5pt double; width: 10%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;21,262,656&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&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: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;December 31, 2022&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" 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;b&gt;Carrying&lt;/b&gt;&lt;/p&gt;
        &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"&gt;&lt;b&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;Fair Value&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&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;Debt&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td style="width: 74%; padding-left: 9pt; text-align: justify; text-indent: -9pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Short-term borrowings and long-term debt&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt double; 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 id="xdx_988_eus-gaap--DebtInstrumentFairValue_iI_c20221231__us-gaap--FairValueByMeasurementBasisAxis__us-gaap--CarryingReportedAmountFairValueDisclosureMember_zYl79NiaxwZf" style="border-bottom: black 2.5pt double; width: 10%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;22,790,747&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt double; 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 id="xdx_985_eus-gaap--DebtInstrumentFairValue_iI_c20221231__us-gaap--FairValueByMeasurementBasisAxis__us-gaap--EstimateOfFairValueFairValueDisclosureMember_z5uraTkpJp8a" style="border-bottom: black 2.5pt double; width: 10%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;22,790,747&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:FairValueByBalanceSheetGroupingTextBlock>
    <us-gaap:DebtInstrumentFairValue
      contextRef="AsOf2023-06-30_us-gaap_CarryingReportedAmountFairValueDisclosureMember"
      decimals="0"
      unitRef="USD">21262656</us-gaap:DebtInstrumentFairValue>
    <us-gaap:DebtInstrumentFairValue
      contextRef="AsOf2023-06-30_us-gaap_EstimateOfFairValueFairValueDisclosureMember"
      decimals="0"
      unitRef="USD">21262656</us-gaap:DebtInstrumentFairValue>
    <us-gaap:DebtInstrumentFairValue
      contextRef="AsOf2022-12-31_us-gaap_CarryingReportedAmountFairValueDisclosureMember"
      decimals="0"
      unitRef="USD">22790747</us-gaap:DebtInstrumentFairValue>
    <us-gaap:DebtInstrumentFairValue
      contextRef="AsOf2022-12-31_us-gaap_EstimateOfFairValueFairValueDisclosureMember"
      decimals="0"
      unitRef="USD">22790747</us-gaap:DebtInstrumentFairValue>
    <us-gaap:EarningsPerShareTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_809_eus-gaap--EarningsPerShareTextBlock_zx9ABMoSH1t5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&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: 48px"&gt;&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;/td&gt;
    &lt;td id="xdx_820_zJEXw7B1bY53" style="text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"&gt;&lt;b&gt;INCOME PER COMMON SHARE&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company complies with the accounting
and disclosure requirements of FASB ASC Topic 260, &#x201c;Earnings Per Share&#x201d; and uses the two-class method in the calculation
of earnings per share. Net income per common share is computed by dividing net income by the weighted average number of common
shares outstanding during the period. During the three months and six months ended June 30, 2023 and 2022, respectively, and as
of June 30, 2023 and 2022, respectively, the Company had restricted shares of common stock that were considered participating securities
and unrestricted shares of common stock outstanding. Earnings and losses are shared pro rata.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;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. Incremental shares of &lt;span id="xdx_905_eus-gaap--IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_pid_uShares_c20230401__20230630_zIQx5pNrP1dk" title="Incremental shares used in calculation of diluted income per common share"&gt;&lt;span id="xdx_909_eus-gaap--IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_pid_uShares_c20230101__20230630_ztXdIK90wmTi" 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;/p&gt;

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

&lt;p id="xdx_897_eus-gaap--ScheduleOfEarningsPerShareBasicByCommonClassTextBlock_zFAxSjLsIWyk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 1.45pt 0pt 0; text-align: justify"&gt;&lt;span id="xdx_8B4_zZ66jAo4sKx"&gt;For the three and six months
ended June 30, 2023 and 2022, respectively, our income per common share was calculated as follows:&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_49C_20230401__20230630_zxLA6vMfkhOh" style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_498_20220401__20220630_z8Wv36sOdzEd" style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_49C_20230101__20230630_zZxGxW7PR5i6" style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_490_20220101__20220630_zKmidXad0GTd" style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td 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;/span&gt;&lt;br/&gt;
&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;/span&gt;&lt;br/&gt;
&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td 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;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;2022&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;2022&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40E_eus-gaap--NetIncomeLoss_zwPPH9Th8jy8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 40%; padding-bottom: 2.5pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Net income &lt;/span&gt;&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%"&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.5pt double; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;1,157,076&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%; padding-bottom: 2.5pt"&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%"&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.5pt double; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;517,636&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%; padding-bottom: 2.5pt"&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%"&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.5pt double; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2,140,381&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%; padding-bottom: 2.5pt"&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%"&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.5pt double; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;484,705&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_408_eus-gaap--EarningsPerShareBasicAbstract_iB_zGc5YlYMdYmj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="text-decoration: underline"&gt;Income per common share, basic:&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Income per common share-unrestricted shares&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;$&lt;/td&gt;
    &lt;td id="xdx_98E_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20230401__20230630__us-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_zEO231fYUtwf" style="text-align: right" title="Income (loss) per common share, basic"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;0.09&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;$&lt;/td&gt;
    &lt;td id="xdx_989_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20220401__20220630__us-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_z2bW7HRd4K95" style="text-align: right" title="Income (loss) per common share, basic"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;0.04&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;$&lt;/td&gt;
    &lt;td id="xdx_98D_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20230101__20230630__us-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_zauk7ci2bdfg" style="text-align: right" title="Income (loss) per common share, basic"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;0.17&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;$&lt;/td&gt;
    &lt;td id="xdx_98A_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20220101__20220630__us-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_zd2soJbaiMcc" style="text-align: right" title="Income (loss) per common share, basic"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;0.04&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Income per common share-restricted shares&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"&gt;$&lt;/td&gt;
    &lt;td id="xdx_982_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20230401__20230630__us-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_zQ4BLaBMfyu6" style="border-bottom: Black 1pt solid; text-align: right" title="Income (loss) per common share, basic"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;0.09&lt;/span&gt;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;$&lt;/td&gt;
    &lt;td id="xdx_98A_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20220401__20220630__us-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_zYCslTjPsTml" style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;0.04&lt;/span&gt;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;$&lt;/td&gt;
    &lt;td id="xdx_98E_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20230101__20230630__us-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_zsm7ZhXcy8p3" style="border-bottom: Black 1pt solid; text-align: right" title="Income (loss) per common share, basic"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;0.17&lt;/span&gt;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;$&lt;/td&gt;
    &lt;td id="xdx_98B_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20220101__20220630__us-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_z9q6CvIlBtJg" style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;0.04&lt;/span&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: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_406_eus-gaap--EarningsPerShareDilutedAbstract_iB_zkoZIfYVA5r3" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Income per common share, diluted&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;$&lt;/td&gt;
    &lt;td id="xdx_98D_eus-gaap--EarningsPerShareDiluted_i01_pp2p0_c20230401__20230630_z12RDg7XWBx7" style="text-align: right" title="Income (loss) per common share, diluted"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;0.09&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;$&lt;/td&gt;
    &lt;td id="xdx_983_eus-gaap--EarningsPerShareDiluted_i01_pp2p0_c20220401__20220630_zbFs3470O5Mk" style="text-align: right" title="Income (loss) per common share, diluted"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;0.04&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;$&lt;/td&gt;
    &lt;td id="xdx_986_eus-gaap--EarningsPerShareDiluted_i01_pp2p0_c20230101__20230630_zTnYsZqHJ078" style="text-align: right" title="Income (loss) per common share, diluted"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;0.17&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;$&lt;/td&gt;
    &lt;td id="xdx_98A_eus-gaap--EarningsPerShareDiluted_i01_pp2p0_c20220101__20220630_zbmjfGqOumZ" style="text-align: right" title="Income (loss) per common share, diluted"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;0.04&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_409_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasicAbstract_iB_zaxngZjU6bx6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="text-decoration: underline"&gt;Shares used in computing income per common share, basic:&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_409_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_i01_pp0p0_hus-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_z6NiJSSfIAh2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Unrestricted shares&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;12,429,894&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;12,305,939&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;12,412,068&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;12,275,306&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_406_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_i01_pp0p0_hus-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_zTPPMjkExAa7" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Restricted shares&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"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;128,899&lt;/span&gt;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;133,061&lt;/span&gt;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;127,584&lt;/span&gt;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;125,975&lt;/span&gt;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_404_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_i01_pp0p0_zRMu4KeMmj4d" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total shares&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"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;12,558,793&lt;/span&gt;&lt;/td&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"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;12,439,000&lt;/span&gt;&lt;/td&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"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;12,539,652&lt;/span&gt;&lt;/td&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"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;12,401,281&lt;/span&gt;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40A_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_pp0p0_uShares_z36FB1oQQOgk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Shares used in computing income per common share, diluted&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;12,625,241&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;12,534,058&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;12,606,100&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;12,496,339&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

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

</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="From2023-04-012023-06-30"
      decimals="INF"
      unitRef="Shares">66448</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="From2023-01-01to2023-06-30"
      decimals="INF"
      unitRef="Shares">66448</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:ScheduleOfEarningsPerShareBasicByCommonClassTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_897_eus-gaap--ScheduleOfEarningsPerShareBasicByCommonClassTextBlock_zFAxSjLsIWyk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 1.45pt 0pt 0; text-align: justify"&gt;&lt;span id="xdx_8B4_zZ66jAo4sKx"&gt;For the three and six months
ended June 30, 2023 and 2022, respectively, our income per common share was calculated as follows:&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_49C_20230401__20230630_zxLA6vMfkhOh" style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_498_20220401__20220630_z8Wv36sOdzEd" style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_49C_20230101__20230630_zZxGxW7PR5i6" style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td id="xdx_490_20220101__20220630_zKmidXad0GTd" style="border-bottom: black 1pt solid; text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td 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;/span&gt;&lt;br/&gt;
&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;/span&gt;&lt;br/&gt;
&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;June 30,&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td 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;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;2022&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&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;2022&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40E_eus-gaap--NetIncomeLoss_zwPPH9Th8jy8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 40%; padding-bottom: 2.5pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Net income &lt;/span&gt;&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%"&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.5pt double; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;1,157,076&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%; padding-bottom: 2.5pt"&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%"&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.5pt double; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;517,636&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%; padding-bottom: 2.5pt"&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%"&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.5pt double; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2,140,381&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%; padding-bottom: 2.5pt"&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%"&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.5pt double; width: 12%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;484,705&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_408_eus-gaap--EarningsPerShareBasicAbstract_iB_zGc5YlYMdYmj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="text-decoration: underline"&gt;Income per common share, basic:&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Income per common share-unrestricted shares&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;$&lt;/td&gt;
    &lt;td id="xdx_98E_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20230401__20230630__us-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_zEO231fYUtwf" style="text-align: right" title="Income (loss) per common share, basic"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;0.09&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;$&lt;/td&gt;
    &lt;td id="xdx_989_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20220401__20220630__us-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_z2bW7HRd4K95" style="text-align: right" title="Income (loss) per common share, basic"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;0.04&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;$&lt;/td&gt;
    &lt;td id="xdx_98D_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20230101__20230630__us-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_zauk7ci2bdfg" style="text-align: right" title="Income (loss) per common share, basic"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;0.17&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;$&lt;/td&gt;
    &lt;td id="xdx_98A_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20220101__20220630__us-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_zd2soJbaiMcc" style="text-align: right" title="Income (loss) per common share, basic"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;0.04&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Income per common share-restricted shares&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"&gt;$&lt;/td&gt;
    &lt;td id="xdx_982_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20230401__20230630__us-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_zQ4BLaBMfyu6" style="border-bottom: Black 1pt solid; text-align: right" title="Income (loss) per common share, basic"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;0.09&lt;/span&gt;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;$&lt;/td&gt;
    &lt;td id="xdx_98A_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20220401__20220630__us-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_zYCslTjPsTml" style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;0.04&lt;/span&gt;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;$&lt;/td&gt;
    &lt;td id="xdx_98E_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20230101__20230630__us-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_zsm7ZhXcy8p3" style="border-bottom: Black 1pt solid; text-align: right" title="Income (loss) per common share, basic"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;0.17&lt;/span&gt;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;$&lt;/td&gt;
    &lt;td id="xdx_98B_eus-gaap--EarningsPerShareBasic_i01_pp2p0_c20220101__20220630__us-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_z9q6CvIlBtJg" style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;0.04&lt;/span&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: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_406_eus-gaap--EarningsPerShareDilutedAbstract_iB_zkoZIfYVA5r3" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Income per common share, diluted&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;$&lt;/td&gt;
    &lt;td id="xdx_98D_eus-gaap--EarningsPerShareDiluted_i01_pp2p0_c20230401__20230630_z12RDg7XWBx7" style="text-align: right" title="Income (loss) per common share, diluted"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;0.09&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;$&lt;/td&gt;
    &lt;td id="xdx_983_eus-gaap--EarningsPerShareDiluted_i01_pp2p0_c20220401__20220630_zbFs3470O5Mk" style="text-align: right" title="Income (loss) per common share, diluted"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;0.04&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;$&lt;/td&gt;
    &lt;td id="xdx_986_eus-gaap--EarningsPerShareDiluted_i01_pp2p0_c20230101__20230630_zTnYsZqHJ078" style="text-align: right" title="Income (loss) per common share, diluted"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;0.17&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;$&lt;/td&gt;
    &lt;td id="xdx_98A_eus-gaap--EarningsPerShareDiluted_i01_pp2p0_c20220101__20220630_zbmjfGqOumZ" style="text-align: right" title="Income (loss) per common share, diluted"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;0.04&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_409_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasicAbstract_iB_zaxngZjU6bx6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="text-decoration: underline"&gt;Shares used in computing income per common share, basic:&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_409_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_i01_pp0p0_hus-gaap--StatementClassOfStockAxis__custom--UnrestrictedSharesMember_z6NiJSSfIAh2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Unrestricted shares&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;12,429,894&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;12,305,939&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;12,412,068&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;12,275,306&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_406_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_i01_pp0p0_hus-gaap--StatementClassOfStockAxis__custom--RestrictedSharesMember_zTPPMjkExAa7" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Restricted shares&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"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;128,899&lt;/span&gt;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;133,061&lt;/span&gt;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;127,584&lt;/span&gt;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;125,975&lt;/span&gt;&lt;/td&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_404_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_i01_pp0p0_zRMu4KeMmj4d" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total shares&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"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;12,558,793&lt;/span&gt;&lt;/td&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"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;12,439,000&lt;/span&gt;&lt;/td&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"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;12,539,652&lt;/span&gt;&lt;/td&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"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;12,401,281&lt;/span&gt;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40A_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_pp0p0_uShares_z36FB1oQQOgk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Shares used in computing income per common share, diluted&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;12,625,241&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;12,534,058&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;12,606,100&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;12,496,339&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

</us-gaap:ScheduleOfEarningsPerShareBasicByCommonClassTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">1157076</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">517636</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">2140381</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">484705</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2023-04-012023-06-30_custom_UnrestrictedSharesMember"
      decimals="2"
      unitRef="USDPShares">0.09</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2022-04-012022-06-30_custom_UnrestrictedSharesMember"
      decimals="2"
      unitRef="USDPShares">0.04</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2023-01-012023-06-30_custom_UnrestrictedSharesMember"
      decimals="2"
      unitRef="USDPShares">0.17</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2022-01-012022-06-30_custom_UnrestrictedSharesMember"
      decimals="2"
      unitRef="USDPShares">0.04</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2023-04-012023-06-30_custom_RestrictedSharesMember"
      decimals="2"
      unitRef="USDPShares">0.09</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2022-04-012022-06-30_custom_RestrictedSharesMember"
      decimals="2"
      unitRef="USDPShares">0.04</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2023-01-012023-06-30_custom_RestrictedSharesMember"
      decimals="2"
      unitRef="USDPShares">0.17</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2022-01-012022-06-30_custom_RestrictedSharesMember"
      decimals="2"
      unitRef="USDPShares">0.04</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2023-04-012023-06-30"
      decimals="2"
      unitRef="USDPShares">0.09</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2022-04-012022-06-30"
      decimals="2"
      unitRef="USDPShares">0.04</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2023-01-01to2023-06-30"
      decimals="2"
      unitRef="USDPShares">0.17</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2022-01-012022-06-30"
      decimals="2"
      unitRef="USDPShares">0.04</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-04-012023-06-30_custom_UnrestrictedSharesMember"
      decimals="0"
      unitRef="Shares">12429894</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-04-012022-06-30_custom_UnrestrictedSharesMember"
      decimals="0"
      unitRef="Shares">12305939</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-01-012023-06-30_custom_UnrestrictedSharesMember"
      decimals="0"
      unitRef="Shares">12412068</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-01-012022-06-30_custom_UnrestrictedSharesMember"
      decimals="0"
      unitRef="Shares">12275306</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-04-012023-06-30_custom_RestrictedSharesMember"
      decimals="0"
      unitRef="Shares">128899</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-04-012022-06-30_custom_RestrictedSharesMember"
      decimals="0"
      unitRef="Shares">133061</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-01-012023-06-30_custom_RestrictedSharesMember"
      decimals="0"
      unitRef="Shares">127584</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-01-012022-06-30_custom_RestrictedSharesMember"
      decimals="0"
      unitRef="Shares">125975</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="Shares">12558793</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="Shares">12439000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="Shares">12539652</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="Shares">12401281</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="Shares">12625241</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="Shares">12534058</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="Shares">12606100</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="Shares">12496339</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:LongTermDebtTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_803_eus-gaap--LongTermDebtTextBlock_zPbzBzM5jQUe" style="margin-top: 0; margin-bottom: 0"&gt;&#160;&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: 48px"&gt;&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;/td&gt;
    &lt;td id="xdx_823_zeqAJhB6QjSc" style="text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"&gt;&lt;b&gt;DEBT&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;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_zrdd7Zzy7z5i" 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_zF8qEyD4Tne7" 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.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On March 23, 2023, the Company entered
into a Twelfth Amendment to the Credit Agreement (the &#x201c;Twelfth Amendment&#x201d;). Under the Twelfth Amendment, the parties
amended the Credit Agreement by : (a) extending the maturity date of the Company&#x2019;s existing revolving line of credit and
its existing term loan to &lt;span id="xdx_90B_eus-gaap--LineOfCreditFacilityExpirationDate1_dd_c20230321__20230323__us-gaap--CreditFacilityAxis__custom--RevolvingLoanAndTermLoanMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zgdfTlSfnbH3" title="Expiration date"&gt;November 30, 2024&lt;/span&gt; (under the terms of the Credit Agreement, the outstanding principal balance of the
term loan was repaid by June 30, 2023); (b) providing for reduction of the aggregate maximum principal amount of all revolving
line of credit loans to $&lt;span id="xdx_906_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20230323__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodOneMember_zPQAFEIn5m3b" title="Line of credit facility, maximum borrowing capacity"&gt;20,520,000&lt;/span&gt; from October 1, 2023 through December 31, 2023, $&lt;span id="xdx_905_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20230323__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodTwoMember_zES6YonAY28" title="Line of credit facility, maximum borrowing capacity"&gt;19,800,000&lt;/span&gt; from January 1, 2024 through June
30, 2024, $19,080,000 from April 1, 2024 through June 30, 2024, $18,360,000 from July 1, 2024 through September 30, 2024, and $&lt;span id="xdx_908_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20230323__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--PeriodThreeMember_zAnqPEDAWodi" title="Line of credit facility, maximum borrowing capacity"&gt;17,640,000&lt;/span&gt;
from October 1, 2024 and 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; and (c) payment of a $&lt;span id="xdx_900_ecustom--AmendmentFee_pp0p0_c20230321__20230323__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zPubCzybXg75"&gt;250,000&lt;/span&gt; capitalized fee incurred in connection with the Eighth Amendment
to the Credit Agreement, which the Company entered into on October 28, 2021 in two installments,
the first installment paid on June 1, 2023 in the amount of $&lt;span id="xdx_907_ecustom--AmendmentFee_pp0p0_c20230321__20230323__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--FirstInstallmentMember_zpVK1WFUQa4d"&gt;116,667&lt;/span&gt; and the second installment paid July 1, 2023 in the amount
of $&lt;span id="xdx_904_ecustom--AmendmentFee_pp0p0_c20230321__20230323__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--DebtInstrumentAxis__custom--SecondInstallmentMember_zfjPl3jdHg21"&gt;133,333&lt;/span&gt;, together with all unpaid interest accrued at the term loan interest rate on the capitalized fee through each such
date (the installments and interest accrued were paid on such dates).&lt;/p&gt;

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



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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&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_90A_ecustom--MinimumDebtServiceCoverageRatio_iI_pip0_uPure_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zHEoVHdQYNEa" 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_90D_ecustom--MaximumLeverageRatio_iI_pip0_uPure_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zofhSAXWVoo6"&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_903_ecustom--NetIncomeRequiredUnderAgreement_pip0_c20230101__20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__srt--RangeAxis__srt--MinimumMember_zuHMauXDxXV2" 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_906_ecustom--MinimumAdjustedEbitda_pn5n6_c20230101__20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zCxQCUNP3189" title="Minimum adjusted EBITDA"&gt;1&lt;/span&gt;.0 million. The additional principal payments, increase in interest and the
Amendment Fee provided for in the Eight Amendment and Ninth Amendment to the Credit Agreement, which the Company entered into on
April 12, 2022 are excluded for purposes of calculating compliance with each of the financial covenants.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The BankUnited Facility is secured by all
of the Company&#x2019;s assets and both the Revolving Loan and Term Loan bear interest at the Prime Rate + &lt;span id="xdx_90A_eus-gaap--DebtInstrumentBasisSpreadOnVariableRate1_pid_dp_uPure_c20230101__20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__custom--RevolvingLoanAndTermLoanMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember_z0SXMnwcyW7b" title="Prime rate Plus"&gt;3.50&lt;/span&gt;%. The Prime Rate
was &lt;span id="xdx_909_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20230630__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember_zQTHcYAb1wed"&gt;8.25&lt;/span&gt;% as of June 30, 2023 and as such, the Company&#x2019;s interest rate on the Revolving Loan and Term Loan was &lt;span id="xdx_906_eus-gaap--LongTermDebtPercentageBearingVariableInterestRate_iI_pid_dp_uPure_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__custom--RevolvingLoanAndTermLoanMember_znBxqI621ZTd" title="Interest rate"&gt;11.75&lt;/span&gt;% as
of June 30, 2023.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;As of June 30, 2023 and December 31, 2022,
the Company had $&lt;span id="xdx_908_eus-gaap--LineOfCredit_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zUaBI9czeEN4" title="Outstanding loans"&gt;&lt;span id="xdx_90A_eus-gaap--LineOfCredit_iI_pp0p0_c20221231__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zip1LV8z5OKa" title="Outstanding loans"&gt;21,000,000&lt;/span&gt;&lt;/span&gt; million outstanding under the Revolving Loan. $&lt;span id="xdx_909_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zk9F061sP7z7" title="Current portion of line of credit"&gt;2,640,000&lt;/span&gt; of the Revolving Loan is payable by June 30,
2024 and the remaining balance of $&lt;span id="xdx_907_eus-gaap--LongTermLineOfCredit_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zmIrDrcWfzQd" title="Line of credit"&gt;18,360,000&lt;/span&gt; of the revolving line of credit matures and is payable by November 30, 2024.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Term Loan had an aggregate principal
amount of $&lt;span id="xdx_901_eus-gaap--DebtInstrumentCarryingAmount_iI_pp0p0_c20230630__us-gaap--CreditFacilityAxis__custom--TermLoanMember_z3rzbXrvcW0l" title="Aggregate principal amount"&gt;133,333&lt;/span&gt;, payable in monthly installments, as defined in the Credit Agreement, as of June 30, 2023 as compared to an
aggregate principal amount outstanding as of December 31, 2022 of $&lt;span id="xdx_905_eus-gaap--DebtInstrumentCarryingAmount_iI_pp0p0_c20221231__us-gaap--CreditFacilityAxis__custom--TermLoanMember_zYBsBHQc7gb7" title="Aggregate principal balance"&gt;1,583,333&lt;/span&gt;.&lt;/p&gt;

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

&lt;p id="xdx_898_eus-gaap--ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_zxGT6qVX5xma" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span id="xdx_8B3_zHee8dp3iCdl"&gt;The maturities of long-term debt (excluding
unamortized debt issuance costs) are 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;&#160;&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;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20230630_zJ5db5W3aVBf" style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_402_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear_iI_maLTDzhnE_z279lG9HrR3c" style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td style="width: 31%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Remainder of 2023&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="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="width: 15%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;181,827&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_404_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_iI_maLTDzhnE_zIjaCc4aSlV9" style="vertical-align: bottom; background-color: white"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2024&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;51,801&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_408_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_iI_maLTDzhnE_zdfuGNhLjFD2" style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2025&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;29,028&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_403_eus-gaap--LongTermDebt_iTI_mtLTDzhnE_zYNLxufLz4m" style="vertical-align: bottom; background-color: white"&gt;
    &lt;td&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&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt double"&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.5pt double; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;262,656&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p id="xdx_8A3_z0f6Hilp1zqj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Included in long-term debt are financing
leases and other notes payable of $&lt;span id="xdx_903_eus-gaap--LongTermDebtAndCapitalLeaseObligations_iI_pp0p0_c20230630_zv5YYqvNyiPj" title="Financing leases and notes payable"&gt;129,323&lt;/span&gt; and $&lt;span id="xdx_906_eus-gaap--LongTermDebtAndCapitalLeaseObligations_iI_pp0p0_c20221231_zdSHp8lgDfac"&gt;207,414&lt;/span&gt; at June 30, 2023 and December 31, 2022, respectively, including a current
portion of $&lt;span id="xdx_906_eus-gaap--LongTermDebtAndCapitalLeaseObligationsCurrent_iI_pp0p0_c20230630_zMKC8Z2ng175" title="Financing leases and notes payable current"&gt;87,838&lt;/span&gt; and $&lt;span id="xdx_90A_eus-gaap--LongTermDebtAndCapitalLeaseObligationsCurrent_iI_pp0p0_c20221231_zujdMDf7lmxj"&gt;136,433&lt;/span&gt;, respectively.&lt;/p&gt;

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



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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company has cumulatively paid approximately
$&lt;span id="xdx_904_eus-gaap--PaymentsOfDebtIssuanceCosts_pp0p0_c20160325__20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zgst7bD4Fmuc" 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_90D_eus-gaap--DeferredFinanceCostsNoncurrentNet_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--BankUnitedMember_zivVpL43DHZ" title="Debt issuance costs"&gt;126,000&lt;/span&gt; is included in
other assets at June 30, 2023.&lt;/p&gt;

</us-gaap:LongTermDebtTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2016-03-24_custom_BankUnitedMember_us-gaap_RevolvingCreditFacilityMember"
      decimals="-6"
      unitRef="USD">30000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2016-03-24_custom_BankUnitedMember_custom_TermLoanMember"
      decimals="-6"
      unitRef="USD">10000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:LineOfCreditFacilityExpirationDate1 contextRef="From2023-03-212023-03-23_custom_RevolvingLoanAndTermLoanMember_custom_BankUnitedMember">2024-11-30</us-gaap:LineOfCreditFacilityExpirationDate1>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2023-03-23_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodOneMember"
      decimals="0"
      unitRef="USD">20520000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2023-03-23_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodTwoMember"
      decimals="0"
      unitRef="USD">19800000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2023-03-23_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_PeriodThreeMember"
      decimals="0"
      unitRef="USD">17640000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <cvu:AmendmentFee
      contextRef="From2023-03-212023-03-23_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember"
      decimals="0"
      unitRef="USD">250000</cvu:AmendmentFee>
    <cvu:AmendmentFee
      contextRef="From2023-03-212023-03-23_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_FirstInstallmentMember"
      decimals="0"
      unitRef="USD">116667</cvu:AmendmentFee>
    <cvu:AmendmentFee
      contextRef="From2023-03-212023-03-23_us-gaap_RevolvingCreditFacilityMember_custom_BankUnitedMember_custom_SecondInstallmentMember"
      decimals="0"
      unitRef="USD">133333</cvu:AmendmentFee>
    <cvu:MinimumDebtServiceCoverageRatio
      contextRef="AsOf2023-06-30_custom_BankUnitedMember"
      decimals="INF"
      unitRef="Pure">1.5</cvu:MinimumDebtServiceCoverageRatio>
    <cvu:MaximumLeverageRatio
      contextRef="AsOf2023-06-30_custom_BankUnitedMember"
      decimals="INF"
      unitRef="Pure">4.0</cvu:MaximumLeverageRatio>
    <cvu:NetIncomeRequiredUnderAgreement
      contextRef="From2023-01-012023-06-30_custom_BankUnitedMember_srt_MinimumMember"
      decimals="0"
      unitRef="USD">1.00</cvu:NetIncomeRequiredUnderAgreement>
    <cvu:MinimumAdjustedEbitda
      contextRef="From2023-01-012023-06-30_custom_BankUnitedMember"
      decimals="-5"
      unitRef="USD">1000000</cvu:MinimumAdjustedEbitda>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="From2023-01-012023-06-30_custom_BankUnitedMember_custom_RevolvingLoanAndTermLoanMember_us-gaap_PrimeRateMember"
      decimals="INF"
      unitRef="Pure">0.0350</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2023-06-30_us-gaap_PrimeRateMember"
      decimals="INF"
      unitRef="Pure">0.0825</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:LongTermDebtPercentageBearingVariableInterestRate
      contextRef="AsOf2023-06-30_custom_BankUnitedMember_custom_RevolvingLoanAndTermLoanMember"
      decimals="INF"
      unitRef="Pure">0.1175</us-gaap:LongTermDebtPercentageBearingVariableInterestRate>
    <us-gaap:LineOfCredit
      contextRef="AsOf2023-06-30_custom_BankUnitedMember_us-gaap_RevolvingCreditFacilityMember"
      decimals="0"
      unitRef="USD">21000000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCredit
      contextRef="AsOf2022-12-31_custom_BankUnitedMember_us-gaap_RevolvingCreditFacilityMember"
      decimals="0"
      unitRef="USD">21000000</us-gaap:LineOfCredit>
    <us-gaap:LinesOfCreditCurrent
      contextRef="AsOf2023-06-30_custom_BankUnitedMember_us-gaap_RevolvingCreditFacilityMember"
      decimals="0"
      unitRef="USD">2640000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:LongTermLineOfCredit
      contextRef="AsOf2023-06-30_custom_BankUnitedMember_us-gaap_RevolvingCreditFacilityMember"
      decimals="0"
      unitRef="USD">18360000</us-gaap:LongTermLineOfCredit>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="AsOf2023-06-30_custom_TermLoanMember"
      decimals="0"
      unitRef="USD">133333</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="AsOf2022-12-31_custom_TermLoanMember"
      decimals="0"
      unitRef="USD">1583333</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_898_eus-gaap--ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_zxGT6qVX5xma" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span id="xdx_8B3_zHee8dp3iCdl"&gt;The maturities of long-term debt (excluding
unamortized debt issuance costs) are 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;&#160;&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;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20230630_zJ5db5W3aVBf" style="text-align: center"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_402_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear_iI_maLTDzhnE_z279lG9HrR3c" style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td style="width: 31%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Remainder of 2023&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="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="width: 15%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;181,827&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_404_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_iI_maLTDzhnE_zIjaCc4aSlV9" style="vertical-align: bottom; background-color: white"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2024&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;51,801&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_408_eus-gaap--LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_iI_maLTDzhnE_zdfuGNhLjFD2" style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2025&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;29,028&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_403_eus-gaap--LongTermDebt_iTI_mtLTDzhnE_zYNLxufLz4m" style="vertical-align: bottom; background-color: white"&gt;
    &lt;td&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&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt double"&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.5pt double; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;262,656&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">181827</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">51801</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">29028</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo>
    <us-gaap:LongTermDebt contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">262656</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">129323</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">207414</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">87838</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">136433</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="From2016-03-252023-06-30_custom_BankUnitedMember"
      decimals="0"
      unitRef="USD">962000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:DeferredFinanceCostsNoncurrentNet
      contextRef="AsOf2023-06-30_custom_BankUnitedMember"
      decimals="0"
      unitRef="USD">126000</us-gaap:DeferredFinanceCostsNoncurrentNet>
    <us-gaap:ConcentrationRiskDisclosureTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_80A_eus-gaap--ConcentrationRiskDisclosureTextBlock_zu0HnHJvyvC8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
&lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 3%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"&gt;&lt;b&gt;9.&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_828_z2QOVh3AbVJf" style="width: 97%; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"&gt;&lt;b&gt;MAJOR CUSTOMERS&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;During the six months ended June 30, 2023,
our two largest customers accounted for &lt;span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zCCbUIRbmjqj" title="Concentration risk, percentage"&gt;32&lt;/span&gt;% and &lt;span id="xdx_90D_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zim92Cbg1jLb" title="Concentration risk, percentage"&gt;29&lt;/span&gt;% of revenue. During the six months ended June 30, 2022, our three largest customers
accounted for &lt;span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zBDH1Q9n539b"&gt;36&lt;/span&gt;%, &lt;span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zioK5xOyZA3h"&gt;14&lt;/span&gt;% and &lt;span id="xdx_906_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20220630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zWHXLRm8BbXe"&gt;11&lt;/span&gt;% of revenue.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;At June 30, 2023, &lt;span id="xdx_90C_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zZVxSLXicKg1"&gt;22&lt;/span&gt;%, &lt;span id="xdx_90B_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zimVR4jzXsLd" title="Concentration Risk, Percentage"&gt;19&lt;/span&gt;%, &lt;span id="xdx_907_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zirRcW94cDu9" title="Concentration Risk, Percentage"&gt;17&lt;/span&gt;% and &lt;span id="xdx_90C_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFourMember_zPEhJwQHt9Ih" title="Concentration Risk, Percentage"&gt;15&lt;/span&gt;%
of our contract assets were from four of our largest customers. At December 31, 2022, &lt;span id="xdx_900_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_z5pc7I6Dj6V"&gt;27&lt;/span&gt;%, &lt;span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zAqwNakqpmHe"&gt;20&lt;/span&gt;%, &lt;span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zwGNls4ocAE8"&gt;16&lt;/span&gt;%, and &lt;span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByBenchmarkAxis__custom--ContractAssetsMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFourMember_z3dV7EWgpbt"&gt;16&lt;/span&gt;% of our contract assets
were related to our four largest customers.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;At June 30, 2023, &lt;span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zTKLRXPvtLK5" title="Concentration Risk, Percentage"&gt;22&lt;/span&gt;%, &lt;span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_zdsve9iIRgu9" title="Concentration Risk, Percentage"&gt;17&lt;/span&gt;%, &lt;span id="xdx_90C_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zkRz5w6uRmTj" title="Concentration Risk, Percentage"&gt;13&lt;/span&gt;%, &lt;span id="xdx_90F_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFourMember_zrTtLLzqLLTh" title="Concentration Risk, Percentage"&gt;11&lt;/span&gt;% and
&lt;span id="xdx_90F_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20230101__20230630__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFiveMember_zHvUGyEG2Bna" title="Concentration Risk, Percentage"&gt;10&lt;/span&gt;% of our accounts receivable were from five of our largest customers. At December 31, 2022, &lt;span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerOneMember_zh2Ef0pGztNh"&gt;38&lt;/span&gt;%, &lt;span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerTwoMember_ze2x7QWcX0U1"&gt;21&lt;/span&gt;%, &lt;span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerThreeMember_zsLgd6GKA0e"&gt;17&lt;/span&gt;%, and &lt;span id="xdx_907_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20220101__20221231__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CustomerFourMember_ztlLGWT3YGul"&gt;13&lt;/span&gt;% of accounts
receivable were due from our four largest customers.&lt;/p&gt;

</us-gaap:ConcentrationRiskDisclosureTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember"
      decimals="INF"
      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"
      unitRef="Pure">0.29</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember"
      decimals="INF"
      unitRef="Pure">0.36</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember"
      decimals="INF"
      unitRef="Pure">0.14</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember"
      decimals="INF"
      unitRef="Pure">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-06-30_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember"
      decimals="INF"
      unitRef="Pure">0.22</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-06-30_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember"
      decimals="INF"
      unitRef="Pure">0.19</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-06-30_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember"
      decimals="INF"
      unitRef="Pure">0.17</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-06-30_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFourMember"
      decimals="INF"
      unitRef="Pure">0.15</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-12-31_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember"
      decimals="INF"
      unitRef="Pure">0.27</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-12-31_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember"
      decimals="INF"
      unitRef="Pure">0.20</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-12-31_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember"
      decimals="INF"
      unitRef="Pure">0.16</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-12-31_custom_ContractAssetsMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFourMember"
      decimals="INF"
      unitRef="Pure">0.16</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-06-30_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember"
      decimals="INF"
      unitRef="Pure">0.22</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-06-30_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember"
      decimals="INF"
      unitRef="Pure">0.17</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-06-30_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember"
      decimals="INF"
      unitRef="Pure">0.13</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-06-30_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFourMember"
      decimals="INF"
      unitRef="Pure">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-01-012023-06-30_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFiveMember"
      decimals="INF"
      unitRef="Pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-12-31_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember"
      decimals="INF"
      unitRef="Pure">0.38</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-12-31_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerTwoMember"
      decimals="INF"
      unitRef="Pure">0.21</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-12-31_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerThreeMember"
      decimals="INF"
      unitRef="Pure">0.17</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-01-012022-12-31_us-gaap_AccountsReceivableMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerFourMember"
      decimals="INF"
      unitRef="Pure">0.13</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:LesseeOperatingLeasesTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_80F_eus-gaap--LesseeOperatingLeasesTextBlock_zq9iAGwtWTda" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
&lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 48px"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;10.&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_824_zJbFckflrpp3" style="text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"&gt;&lt;b&gt;LEASES&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;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_904_eus-gaap--LeaseExpirationDate1_c20230101__20230630_zLXdsowMGf44" 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;/p&gt;

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

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

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;For the six months ended June 30, 2023
and 2022, the Company&#x2019;s operating lease expense was $&lt;span id="xdx_903_eus-gaap--OperatingLeaseCost_c20230101__20230630_zoeHpAgOrRZ4" title="Operating lease expense"&gt;1,084,968&lt;/span&gt; and $&lt;span id="xdx_90F_eus-gaap--OperatingLeaseCost_c20220101__20220630_z8rv72bc6BUc" title="Operating lease expense"&gt;1,051,911&lt;/span&gt;, respectively. For the three months ended June
30, 2023 and 2022, the Company&#x2019;s operating lease expense was $&lt;span id="xdx_90D_eus-gaap--OperatingLeaseCost_c20230401__20230630_zHfoL2JRDqF" title="Operating lease expense"&gt;550,942&lt;/span&gt; and $&lt;span id="xdx_90D_eus-gaap--OperatingLeaseCost_c20220401__20220630_zGejoTbcukQ7" title="Operating lease expense"&gt;516,920&lt;/span&gt;, respectively.&lt;/p&gt;

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

&lt;p id="xdx_89F_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_zX21dzOwfb63" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span id="xdx_8B7_zGKqrvPb1rrc"&gt;Future minimum lease payments under non-cancellable
operating leases as of June 30, 2023 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;&#160;&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: bottom"&gt;
    &lt;td&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;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20230630_zOaKCwPm8hAe" style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maOLFMPzv5G_zMYwLjB1ph21" style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td style="width: 86%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Remainder of 2023&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="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="width: 10%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;1,096,220&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_403_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maOLFMPzv5G_zhivs9pjlRpe" style="vertical-align: bottom; background-color: white"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2024&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2,228,784&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maOLFMPzv5G_zNor4RyUc2w8" style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2025&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2,283,354&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_maOLFMPzv5G_zC4uHLYeEp77" style="vertical-align: bottom; background-color: white"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2026&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;850,276&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_407_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFour_iI_maOLFMPzv5G_zEk1cpY66KV2" style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2027&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;111,065&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_iI_maOLFMPzv5G_z7dRFbYbLm23" style="vertical-align: bottom; background-color: white"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;9,228&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_403_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtOLFMPzv5G_zJMVwJF3uVHj" style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td style="padding-left: 9pt"&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&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;6,578,927&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_402_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zexsJFJdjrr9" style="vertical-align: bottom; background-color: white"&gt;
    &lt;td&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&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(536,037&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_408_eus-gaap--OperatingLeaseLiability_iI_zwZ2QR5bFBAf" style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td&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&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt double"&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.5pt double; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;6,042,890&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p id="xdx_8A9_zhNHNK6DfNJ1" 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;&#160;&lt;/p&gt;

&lt;p id="xdx_899_ecustom--LesseeOperatingLeasesTableTextBlock_zJScyRalZjl5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span id="xdx_8B7_zx0SdYWZWfjc"&gt;The following table sets forth the ROU
assets and operating lease liabilities as of:&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20230630_zzsKaXD0ILn5" 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;June 30,&lt;/b&gt;&lt;/span&gt;&lt;br/&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;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_493_20221231_zvqeZx4kCwBe" 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;December 31, &lt;/b&gt;&lt;/span&gt;&lt;br/&gt;
&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_409_eus-gaap--AssetsAbstract_iB_zqwiKBF9G1u" 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;&lt;b&gt;Assets&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_409_eus-gaap--OperatingLeaseRightOfUseAsset_i01I_zKQr19tgFTFe" style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td style="width: 74%; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;ROU assets, net&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt double; 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="border-bottom: black 2.5pt double; width: 11%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;5,646,483&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt double; 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="border-bottom: black 2.5pt double; width: 9%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;6,526,627&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&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&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40E_eus-gaap--LiabilitiesAbstract_iB_z1Gdx0pIOia4" style="vertical-align: bottom; background-color: #CCEEFF"&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;Liabilities&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_402_eus-gaap--OperatingLeaseLiabilityCurrent_i01I_maOLLzT6D_maOLLzzJK_zKZQQ9qhg8k2" 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;Current operating lease liabilities&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="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="vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;1,921,803&lt;/span&gt;&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;&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: bottom; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;1,817,811&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_408_eus-gaap--OperatingLeaseLiabilityNoncurrent_i01I_maOLLzT6D_maOLLzzJK_zhlgBDyKIUbi" style="background-color: #CCEEFF"&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;Long-term operating lease liabilities&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&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;4,121,087&lt;/span&gt;&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="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;5,077,235&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_404_eus-gaap--OperatingLeaseLiability_i01TI_mtOLLzT6D_mtOLLzzJK_zqNBfIxWu4r9" style="background-color: white"&gt;
    &lt;td style="vertical-align: bottom; padding-left: 9pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total lease liabilities&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt 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.5pt double; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;6,042,890&lt;/span&gt;&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="border-bottom: black 2.5pt 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.5pt double; vertical-align: bottom; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;6,895,046&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;p id="xdx_8A3_zvqrPPmvOMsk" style="margin-top: 0; margin-bottom: 0"&gt;&#160;&lt;/p&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company&#x2019;s weighted average remaining
lease term for its operating leases is &lt;span id="xdx_903_eus-gaap--OperatingLeaseWeightedAverageRemainingLeaseTerm1_iI_dtY_c20230630_zl8oWSeSYP69" title="Weighted average remaining lease term operating leases"&gt;2.9&lt;/span&gt; years as of June 30, 2023. The Company&#x2019;s weighted average discount rate for its
operating leases is &lt;span id="xdx_904_eus-gaap--OperatingLeaseWeightedAverageDiscountRatePercent_iI_pid_dp_uPure_c20230630_z7piCcKfENPi" title="Weighted average discount rate for its operating leases"&gt;5.4&lt;/span&gt;% as of June 30, 2023.&lt;/p&gt;

</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LeaseExpirationDate1 contextRef="From2023-01-01to2023-06-30">2026-04-30</us-gaap:LeaseExpirationDate1>
    <us-gaap:OperatingLeaseCost
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">1084968</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">1051911</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">550942</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">516920</us-gaap:OperatingLeaseCost>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_89F_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_zX21dzOwfb63" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span id="xdx_8B7_zGKqrvPb1rrc"&gt;Future minimum lease payments under non-cancellable
operating leases as of June 30, 2023 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;&#160;&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: bottom"&gt;
    &lt;td&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;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20230630_zOaKCwPm8hAe" style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maOLFMPzv5G_zMYwLjB1ph21" style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td style="width: 86%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Remainder of 2023&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="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="width: 10%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;1,096,220&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_403_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maOLFMPzv5G_zhivs9pjlRpe" style="vertical-align: bottom; background-color: white"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2024&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2,228,784&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maOLFMPzv5G_zNor4RyUc2w8" style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2025&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2,283,354&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_maOLFMPzv5G_zC4uHLYeEp77" style="vertical-align: bottom; background-color: white"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2026&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;850,276&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_407_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearFour_iI_maOLFMPzv5G_zEk1cpY66KV2" style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2027&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;111,065&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_iI_maOLFMPzv5G_z7dRFbYbLm23" style="vertical-align: bottom; background-color: white"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;9,228&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_403_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtOLFMPzv5G_zJMVwJF3uVHj" style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td style="padding-left: 9pt"&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&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;6,578,927&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_402_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zexsJFJdjrr9" style="vertical-align: bottom; background-color: white"&gt;
    &lt;td&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&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(536,037&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_408_eus-gaap--OperatingLeaseLiability_iI_zwZ2QR5bFBAf" style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td&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&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt double"&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.5pt double; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;6,042,890&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">1096220</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">2228784</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">2283354</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">850276</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">111065</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">9228</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">6578927</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">536037</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">6042890</us-gaap:OperatingLeaseLiability>
    <cvu:LesseeOperatingLeasesTableTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_899_ecustom--LesseeOperatingLeasesTableTextBlock_zJScyRalZjl5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span id="xdx_8B7_zx0SdYWZWfjc"&gt;The following table sets forth the ROU
assets and operating lease liabilities as of:&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20230630_zzsKaXD0ILn5" 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;June 30,&lt;/b&gt;&lt;/span&gt;&lt;br/&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;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_493_20221231_zvqeZx4kCwBe" 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;December 31, &lt;/b&gt;&lt;/span&gt;&lt;br/&gt;
&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_409_eus-gaap--AssetsAbstract_iB_zqwiKBF9G1u" 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;&lt;b&gt;Assets&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_409_eus-gaap--OperatingLeaseRightOfUseAsset_i01I_zKQr19tgFTFe" style="vertical-align: bottom; background-color: #CCEEFF"&gt;
    &lt;td style="width: 74%; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;ROU assets, net&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt double; 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="border-bottom: black 2.5pt double; width: 11%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;5,646,483&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt double; 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="border-bottom: black 2.5pt double; width: 9%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;6,526,627&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 1%"&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&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_40E_eus-gaap--LiabilitiesAbstract_iB_z1Gdx0pIOia4" style="vertical-align: bottom; background-color: #CCEEFF"&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;Liabilities&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_402_eus-gaap--OperatingLeaseLiabilityCurrent_i01I_maOLLzT6D_maOLLzzJK_zKZQQ9qhg8k2" 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;Current operating lease liabilities&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="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="vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;1,921,803&lt;/span&gt;&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;&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: bottom; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;1,817,811&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_408_eus-gaap--OperatingLeaseLiabilityNoncurrent_i01I_maOLLzT6D_maOLLzzJK_zhlgBDyKIUbi" style="background-color: #CCEEFF"&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;Long-term operating lease liabilities&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&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;4,121,087&lt;/span&gt;&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="border-bottom: black 1pt solid; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 1pt solid; vertical-align: bottom; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;5,077,235&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_404_eus-gaap--OperatingLeaseLiability_i01TI_mtOLLzT6D_mtOLLzzJK_zqNBfIxWu4r9" style="background-color: white"&gt;
    &lt;td style="vertical-align: bottom; padding-left: 9pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total lease liabilities&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: black 2.5pt 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.5pt double; vertical-align: top; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;6,042,890&lt;/span&gt;&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="border-bottom: black 2.5pt 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.5pt double; vertical-align: bottom; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;6,895,046&lt;/span&gt;&lt;/td&gt;
    &lt;td style="vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

</cvu:LesseeOperatingLeasesTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">5646483</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">6526627</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">1921803</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">1817811</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">4121087</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">5077235</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">6042890</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability contextRef="AsOf2022-12-31" decimals="0" unitRef="USD">6895046</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="AsOf2023-06-30">P2Y10M24D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent contextRef="AsOf2023-06-30" decimals="INF" unitRef="Pure">0.054</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_806_eus-gaap--IncomeTaxDisclosureTextBlock_zTAoKrJT1c4c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
&lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 48px"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"&gt;&lt;b&gt;11.&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_821_zT36b0701Kt8" style="text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"&gt;&lt;b&gt;INCOME TAXES&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;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.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The provision for income tax for the six
months ended June 30, 2023 and 2022 was $&lt;span id="xdx_908_eus-gaap--IncomeTaxExpenseBenefit_c20230101__20230630_zmsFlK7AfAfc" title="Provision for income taxes"&gt;298,046&lt;/span&gt; and $&lt;span id="xdx_90E_eus-gaap--IncomeTaxExpenseBenefit_c20220101__20220630_zHvTcSLmQ0B9" title="Provision for income taxes"&gt;7,500&lt;/span&gt;, respectively. The provision for income tax for the three months ended
June 30, 2023 and 2022 was $&lt;span id="xdx_904_eus-gaap--IncomeTaxExpenseBenefit_c20230401__20230630_zHUgt0OnTxp7" title="Provision for income taxes"&gt;98,789&lt;/span&gt; and $&lt;span id="xdx_90F_eus-gaap--IncomeTaxExpenseBenefit_c20220401__20220630_z47BUPYnSIF3" title="Provision for income taxes"&gt;6,225&lt;/span&gt;, respectively. The increase in the year-over-year provision for income tax is the
result of the Company&#x2019;s valuation allowance on its deferred tax asset being partially released at December 31, 2022, resulting
in the periodic change in the deferred asset for the periods subsequent to December 31, 2022 being recorded through the Company&#x2019;s
statement of operations during such periods. For the three and six months ending June 30, 2022 the company&#x2019;s deferred tax
assets were fully offset by the valuation allowance, therefore there was only minimum state tax income expense recorded to the
Company&#x2019;s statement of operations during those periods.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The effective income tax rate for the six
months ended June 30, 2023 is &lt;span id="xdx_908_eus-gaap--EffectiveIncomeTaxRateContinuingOperations_pid_dp_uPure_c20230101__20230630_zkcFNPJNmnfc" 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_907_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_pid_dp_uPure_c20230101__20230630_zCQBOaINHHT7" title="Statutory income tax rate"&gt;21&lt;/span&gt;% for the six months ended June 30, 2023 is due to the estimated R&amp;amp;D credit, the partial
release of approximately $&lt;span id="xdx_904_eus-gaap--ValuationAllowanceDeferredTaxAssetChangeInAmount_iN_di_c20230101__20230630_z662e1ulrdtk" 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;/p&gt;

</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">298046</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-01-012022-06-30"
      decimals="0"
      unitRef="USD">7500</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-04-012023-06-30"
      decimals="0"
      unitRef="USD">98789</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-04-012022-06-30"
      decimals="0"
      unitRef="USD">6225</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="From2023-01-01to2023-06-30"
      decimals="INF"
      unitRef="Pure">0.122</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2023-01-01to2023-06-30"
      decimals="INF"
      unitRef="Pure">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">-121000</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="From2023-01-01to2023-06-30">&lt;p id="xdx_80A_eus-gaap--CommitmentsAndContingenciesDisclosureTextBlock_zxPTVqBj7hSe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
&lt;tr style="vertical-align: top"&gt;
    &lt;td style="width: 48px"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;12.&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
    &lt;td id="xdx_824_zgKpDDzuhhhd" style="text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;COMMITMENTS AND CONTINGENCIES&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="background-color: white"&gt;&lt;b&gt;Class
Action Lawsuit&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;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="background-color: white"&gt;A
consolidated class action lawsuit (captioned &lt;i&gt;Rodriguez v. CPI Aerostructures, Inc., et al.&lt;/i&gt;, No. 20-cv-01026) was filed in
the U.S. District Court for the Eastern District of New York against the Company, Douglas McCrosson, the Company&#x2019;s former
Chief Executive Officer, Vincent Palazzolo, the Company&#x2019;s former Chief Financial Officer, and the two underwriters of the
Company&#x2019;s October 16, 2018 offering of common stock, Canaccord Genuity LLC and B. Riley FBR. The Amended Complaint in the
action asserted claims on behalf of two plaintiff classes: (i) purchasers of the Company&#x2019;s common stock issued pursuant to
and/or traceable to the Company&#x2019;s offering conducted on or about October 16, 2018; and (ii) purchasers of the Company&#x2019;s
common stock between March 22, 2018 and February 14, 2020. The Amended Complaint alleged that the defendants violated Sections
11, 12(a)(2), and 15 of the Securities Act by negligently permitting false and misleading statements to be included in the Company&#x2019;s
registration statement and prospectus supplements issued in connection with the Company&#x2019;s October 16, 2018 securities offering.
The Amended Complaint also alleged that the defendants violated Sections 10(b) and 20(a) of the Securities Exchange Act of 1934,
as amended (the &#x201c;Exchange Act&#x201d;), and Rule 10b-5 promulgated by the SEC, by making false and misleading statements in
the Company&#x2019;s periodic reports filed between March 22, 2018 and February 14, 2020. Plaintiff sought unspecified compensatory
damages, including interest; rescission or a rescissory measure of damages; unspecified equitable or injunctive relief; and costs
and expenses, including attorney&#x2019;s fees and expert fees. On February 19, 2021, the Company moved to dismiss the Amended Complaint.
Plaintiff submitted a brief in opposition to the motion to dismiss on April 23, 2021. &lt;/span&gt;&lt;/p&gt;

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



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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="background-color: white"&gt;On
May 20, 2021, the parties reached a settlement in the amount of $&lt;span id="xdx_900_eus-gaap--LitigationSettlementAmountAwardedToOtherParty_c20210519__20210520_zrz9Mryt95Tg" title="Settlement amount"&gt;3,600,000&lt;/span&gt; (the &#x201c;Settlement Amount&#x201d;), subject to court
approval. On July 9, 2021, plaintiff filed an unopposed motion for preliminary approval of the settlement. On November 10, 2021,
a magistrate judge recommended that the court grant the motion for preliminary approval in its entirety. The court adopted the
recommendation on May 27, 2022, and entered an order granting preliminary approval of the settlement on June 7, 2022. On August
5, 2022, plaintiff filed an unopposed motion for final approval. The magistrate judge held a hearing on the final approval motion
on September 9, 2022. On February 16, 2023, the magistrate judge recommended that the Court grant the final approval motion in
its entirety. The Court adopted that recommendation in its entirety on March 10, 2023, and terminated the case on March 13, 2023.
On May 5, 2023, the Settlement Amount was transferred to plaintiff&#x2019;s counsel from the escrow account established for this
purpose.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="background-color: white"&gt;&lt;b&gt;Shareholder Derivative
Action&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="background-color: white"&gt;Four
shareholder derivative actions, each based on substantially the same facts as those alleged in the class action discussed above,
have been filed against certain current and former members of our board of directors and certain of our current and former officers.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="background-color: white"&gt;The
first action (captioned &lt;i&gt;Moulton v. McCrosson, et.al.&lt;/i&gt;, No. 20-cv-02092) was filed on May 7, 2020, in the U.S. District Court
for the Eastern District of New York. It purports to assert derivative claims against the individual defendants for violations
of Section 10(b) and 21D of the Exchange Act, breach of fiduciary duty, and unjust enrichment and seeks to recover on behalf of
the Company for any liability the Company might incur as a result of the individual defendants&#x2019; alleged misconduct. The complaint
also seeks declaratory, equitable, injunctive, and monetary relief, as well as attorneys&#x2019; fees and other costs. On October
26, 2020, plaintiff filed an amended complaint. On January 27, 2021, the court stayed the action pursuant to a joint stipulation
filed by the parties.&lt;/span&gt;&lt;/p&gt;





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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="background-color: white"&gt;The
second action (captioned &lt;i&gt;Woodyard v. McCrosson, et al.&lt;/i&gt;, Index No. 613169/2020) was filed on September 17, 2020, in the Supreme
Court of the State of New York (Suffolk County). It purports to assert derivative claims against the individual defendants for
breach of fiduciary duty and unjust enrichment, and seeks to recover on behalf of the Company for any liability the Company might
incur as a result of the individual defendants&#x2019; alleged misconduct, along with declaratory, equitable, injunctive and monetary
relief, as well as attorneys&#x2019; fees and other costs. On December 22, 2020, the parties filed a joint stipulation staying the
action pending further developments in the class action.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="background-color: white"&gt;The
third action (captioned &lt;i&gt;Berger v. McCrosson, et al.&lt;/i&gt;, No. 1:20-cv-05454) was filed on November 10, 2020, in the U.S. District
Court for the Eastern District of New York. The complaint, which is based on the shareholder&#x2019;s inspection of certain corporate
books and records, purports to assert derivative claims against the individual defendants for breach of fiduciary duty and unjust
enrichment, and seeks to implement reforms to the Company&#x2019;s corporate governance and internal procedures and to recover on
behalf of the Company an unspecified amount of monetary damages. The complaint also seeks equitable, injunctive, and monetary relief,
as well as attorneys&#x2019; fees and other costs.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="background-color: white"&gt;On
March 19, 2021, the parties to the &lt;i&gt;Moulton and Berger&lt;/i&gt; actions filed a joint stipulation consolidating the actions (under
the caption &lt;i&gt;In re CPI Aerostructures Stockholder Derivative Litigation&lt;/i&gt;, No. 20-cv-02092) and staying the consolidated action
pending further developments in the class action.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="background-color: white"&gt;The
fourth action (captioned &lt;i&gt;Wurst, et al. v. Bazaar, et al.&lt;/i&gt;, Index No. 605244/2021) was filed on March 24, 2021, in the Supreme
Court of the State of New York (Suffolk County). The complaint purports to assert derivative claims against the individual defendants
for breach of fiduciary duty, unjust enrichment, and waste of corporate assets, and seeks to recover on behalf of the Company for
any liability the Company might incur as a result of the individual defendants&#x2019; alleged misconduct. The complaint also seeks
declaratory, equitable, injunctive, and monetary relief, as well as attorneys&#x2019; fees and other costs. On April 12, 2021, the
parties filed a joint stipulation staying the action pending further developments in the class action.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="background-color: white"&gt;On
June 13, 2022, plaintiffs in the consolidated federal action informed the court that the Company and all defendants had reached
an agreement in principle with all plaintiffs to settle the shareholder derivative lawsuits described above. On June 16, 2022,
plaintiffs in the consolidated federal action filed an unopposed motion for preliminary approval of the settlement. On July 22,
2022, the court referred the motion to the magistrate judge. The magistrate judge held a conference on September 9, 2022 in the
consolidated federal action. On February 14, 2023, the magistrate judge recommended that the court grant the motion in its entirety.
On March 6, 2023, the court granted preliminary approval of the proposed settlement.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"&gt;On May 17, 2023,
plaintiffs in the consolidated federal action filed an unopposed motion for final approval of the settlement. &lt;span style="background-color: white"&gt;The
magistrate judge held a final approval hearing on June 7, 2023. The final approval motion remains pending.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="background-color: white"&gt;The
terms of the proposed settlement are set forth in the stipulation of settlement agreed to by the Company and plaintiffs. Should
the proposed settlement receive final approval from the Court, it will result in the dismissal of the shareholder derivative lawsuits.
As part of the proposed settlement, the Company has agreed to undertake (or confirm that it has undertaken already) certain corporate
governance reforms. In addition, the Company and/or its insurer have agreed to pay a total of $&lt;span id="xdx_90D_eus-gaap--LegalFees_c20230516__20230517_zfmZ3pia4WXb" title="Attorneys' fees"&gt;585,000&lt;/span&gt; in attorneys&#x2019; fees
to plaintiffs&#x2019; counsel.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; background-color: white"&gt;&lt;span style="background-color: white"&gt;&lt;b&gt;Litigation
Settlement Obligation and Insurance Recovery Receivable Pertaining to the Class Action Lawsuit and Shareholder Derivative Action&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; background-color: white"&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="background-color: white"&gt;The
attorneys&#x2019; fees for both the class action lawsuit and the shareholder derivative actions were covered and paid by our directors&#x2019;
and officers&#x2019; insurance carrier, after satisfaction of our $&lt;span id="xdx_905_eus-gaap--LitigationSettlementExpense_c20230101__20230630_zgZzk9B2gZr2" title="Covered settlement amount"&gt;750,000&lt;/span&gt; retention. As of June 30, 2023, we had previously paid
and accrued to our financial statements covered expenses totaling $&lt;span id="xdx_90F_eus-gaap--LitigationSettlementExpense_c20230101__20230630_zWsQsuF3LGh9" title="Covered settlement amount"&gt;750,000&lt;/span&gt;, and had therefore met our insurance carrier&#x2019;s
directors&#x2019; and officers&#x2019; retention requirement, which capped the Company&#x2019;s expenses pertaining to the class action
suit at $&lt;span id="xdx_90D_ecustom--DirectorsAndOfficersInsuranceRetentionAmount_iI_c20230630_z0maLDl5AiC4" title="Directors and officers insurance retention amount"&gt;750,000&lt;/span&gt;. Because the Settlement Amount was transferred to counsel for plaintiff in the class action lawsuit on May 5,
2023, from the escrow account established for this purpose, we have relieved from our balance sheet, as of that date, the amounts
previously owed from our directors&#x2019; and officers&#x2019; insurance carrier and to that plaintiff.&lt;/span&gt;&lt;/p&gt;

</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:LitigationSettlementAmountAwardedToOtherParty
      contextRef="From2021-05-192021-05-20"
      decimals="0"
      unitRef="USD">3600000</us-gaap:LitigationSettlementAmountAwardedToOtherParty>
    <us-gaap:LegalFees
      contextRef="From2023-05-162023-05-17"
      decimals="0"
      unitRef="USD">585000</us-gaap:LegalFees>
    <us-gaap:LitigationSettlementExpense
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">750000</us-gaap:LitigationSettlementExpense>
    <us-gaap:LitigationSettlementExpense
      contextRef="From2023-01-01to2023-06-30"
      decimals="0"
      unitRef="USD">750000</us-gaap:LitigationSettlementExpense>
    <cvu:DirectorsAndOfficersInsuranceRetentionAmount contextRef="AsOf2023-06-30" decimals="0" unitRef="USD">750000</cvu:DirectorsAndOfficersInsuranceRetentionAmount>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>59
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
MT@VGA\.GX';O.^U]I]U\+.1[8XRJ++JH:V7K%SY_MA,D_@G:)?:BWLBY.I_
M&JJ5>5"3V6^_D!2_]'GWDR8[\)7UOK+8[+-+6:]\#FY'I=VH=LD_S!C.<"H@
MO@_[VCUV62(HY;W=@:RDEY5$95W,Y[JI; T58:Z*!WE7JA-4*>N3NIV)[TG(
M4DH8)B.IKEV2<2'V7#J0RGNI/"KU354W1E9SU6K5#\H\[8GVZ8U.Y[_=R)<V
MW/&'I;C]Y_<G[?U)XQFA*VN@BB+9I;_/@]2],LY3BM-QR%U#*B _>!+0*'J-
MXDC,'V"!:O/D4R><BY*<9#E.1^)<.YKD#*>Y7UO6:\NBVCZH95,MVIN/BFJN
MUPI9^55YXYBY&7EP_[8ZCUD=J,Q[E7E4Y7NC-K)8(/45P%^K&LEJ@;1=*0-T
MV9:_\/W/'44\Y8(D(^&N62YXQ@+*"1[0A*/:/VHK2W18I;W0P6[D.,FRE(^5
M^BP9R;.$I0&Q>QPE4;'O-LI(6U3WJ%305B#3]@^G>GG:P$DXQ+M9#V.<I$G&
MQM)=PY33-*4BH'R@((F"!U($FD)CG[K44%^:8@-MF@V6X=UL![>;8\'&Q/#8
M$4(3SD.A'E!&XBR[4DL%.;%H%]PVM%Z=S T8%3EQ>.$SY"))4A80.L"-Q.GV
MI]:+QZ(LO?)<3!&1)=3-V>.&A_(&H)$XT=YU92"2FRYY*$L8<Q3Z[#*(8$#@
M0"@21]2V $06OLL=(&/&.,_&$EU+GB>)@%XG(') %!'?U47>%/*N* M;*'\K
M2:*H^]%>\F?-=NCTP#X2AU_?MVWD4ZC_(2[0"!&00"(?WQW7,L,TS_-0J1CH
M1^+X YVF40/^O#H]F&,$\MR1Z1J".PG/ SE$!]+1..EN(&WN9;>OA5RWI6HK
M,-)WY>Y;[]8D.N4/])?4A6*TP:0#$VF<B7V+60YKP^N*R[8LQ9PYM=!C"$J)
MH(%$H7M;P3@$;W3=;D*Z.'DENC2C'',R;C8]=EQ (Q)H-ND /7ID [<K,QMM
MNCS12]2:M)]S8&'A92!UT4937^_I,20TE@,# VF<@3[=NKH_M<JLT4+=^76[
MS*,4BL>XQ_#8$4%RD8;R86 C/<+&43NWE\$GWSIGKW*7A22G),/C?LYGF '8
M"0E('ZA)X]1\T^]&8M69ND0D*4![+--C1EBH,-.!FC2^LSOL[6^.U =W"\>P
MP F@9"S79\DPR5B@&:$#\F@<>3<'JZUKC[O3P_SVRO> ,-N6V+%\CV6>Q=;A
M0$(:)^%-O^AT.+6]ZEWJ)802G#FQ]W 4"T%9X!D1&_#(CN#QH&#\2.B99\-'
MDFR<Y1XS@?,LL!39 $ 6!^ VRX]D-_-L 1FE CK9L4R/)0<,81Y(#S;PC\6?
MA=ZNI%$K72Z4J7_[):-$O$37L!>T3]YFEOW4!Z,_:[9#W_<>C1Y!JUZOV\[+
MZOEG=(I^?0XM!91.@QYDV:B72#9VI4WQ'_21')_ 6FS_H[J-&," T!-!Q0E)
M1;>!AE..TQ.1\]X"_FQ4][JB?#I!15VW'6GW'*:QM84#6(O>(/N@+.AXW7G-
M8.4%4F(@-SOR;'8!=0[6%61P^PCIM*C07&X*R&BO6!?%@L'^BJ5.%OLL20;;
ML4"3Q 9JLSBUH=UOUDTI+01XH9;%W-\6,9>]IVF:I0E/^%BLSS3'.,E#/2<;
M0,V^9WL;7GE>Z9XM;\93SL<H\1@FT!GAT&,Y-J";?0^Z]XI:E\L_Z(9PWB<$
M=NX>R\#.?;KW%JQ]!?FW-/=%50/EEC 4/Q<0"[-]J[<]L7K3O1B[T];J=7>X
M4A(<: W@]Z76]MM)^ZZM?[<Z^Q]02P,$%     @ E(L55V:;.IRW @  0P<
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
M!4#]ODB2_/6D&&#WFLKX/U!+ P04    " "4BQ57LDI\4N8'  #)-P  &
M 'AL+W=O<FMS:&5E=',O<VAE970U+GAM;+5;:V_;-A3]*X(W; U0U^)#KRX)
MD%HLFJ%-LCC9, S[H-A,(M2V/$E)NG\_2G8MB[RDI9C[$DO.Y>'5X15YCBD=
MOV3YU^*1\]+YMI@OBY/!8UFNWH]&Q?21+Y+B7;;B2_&?^RQ?)*4XS1]&Q2KG
MR:QNM)B/L.OZHT62+@>GQ_5W5_GI<?94SM,EO\J=XFFQ2/)_/_!Y]G(R0(/O
M7URG#X]E]<7H]'B5// )+V]75[DX&VU19NF"+XLT6SHYOS\9G*'WC-8-ZHC?
M4_Y2[!P[U:7<9=G7ZN1\=C)PJXSXG$_+"B(1'\]\S.?S"DGD\<\&=+#MLVJX
M>_P=_6-]\>)B[I*"C[/Y'^FL?#P9A -GQN^3IWEYG;U\XIL+\BJ\:38OZK_.
MRR;6'3C3IZ+,%IO&(H-%NEQ_)M\V1.PTP%C3 &\:8*D!\34-R*8!D7L(- WH
MI@&5&B"B:>!M&M27/EI?>TU<G)3)Z7&>O3AY%2W0JH.:_;JUX"M=5H4R*7/Q
MWU2T*T_'EQ<QNYBPV!%'D\O/Y_'9C3B9W(B/+^SB9N)<?G0FG\ZNV:?+SS&[
MGOSLL-]NSV_^=-[$[./Y^/SFR'ES>W%V&Y^+=D?.T+F=Q,Z;'X^.1Z5(K^ID
M--VD\F&="M:EDBT6HG0F93;]ZOSUA2_N>/XW #,VPYS-9FE5@\G<N4K2V3!=
M.N-DE9;BW  :FT&O>2EN.CYS6)(OT^5#8<)B9JR;3.32;C82H[8=.KP=.ESC
M4 W.!_Z0+JMDQ)TR3Y93_M9Y3N9/W$E*)^;3=PY!;QWL8@0-Q1K:KZ&KR>3Y
M%&%"_./1\R[3:E2 0T("BMN!L1HX#$(4(N2A=B0#(CU"/#<@V\ 6&V3+!NG'
MAO-&C'SQF.2\..I$R1K?DRCQ_)!(K!@3J6;V]\4JF?*3@9BZ"YX_\\'I3S\@
MW_T%JCN;8,P26&L Z'8 J'$ +L2J=KZ<9@O!_.>L*, 9P @!)^A 4X EG)@J
M8SXD.")RT>X-:S'F;1GSC(S5,]VP6N9FCN!-K/U%4J^>_%MUS"$"/>7VH8%4
MGIZ2+/9"XDEWK#&U[@PRL+<0P\SX6V;\@YC9O;<AEGPE*1IX6";*F$/?^]@F
M&+,$UN(^V'(?&+EGRQF\IGQ)\NT$BB'6 VA-46;/0!D;L:9XD1=(PQ.K@6)-
MP8BZH;3Z,"#2(Q0CK"G#<$M%>-B:LI>2$%I30H*1*[%B3*1O+=H$8Y; 6@,0
M;0<@^O\D3M1)XD10.4(21PW421P@TBAQD-N(=?=_%CF;#CJH'',J?4O2*AJS
MA=8>AAW/A Z7.F:,GE<\MHH66T5C&[36<AO2P/4TY=X8'&1V.-JEZ->GI2AS
M5S_O(LC?4!K)-8Z!NS^* M>5(F,@<A@$?N13*LTH# JE?NA'8:@AI/$XZ$"3
MLY\8R.4(8HBBCLRI]*XXJS['%EI[&!JG@\Q6Q[0L[94$&^Q],@FIGD.CDX!(
MG5""0HU*"35>!IG-S.%:":E60B.6S*GT+DV;:,P66GL8&N.$S,ZIV]+T"G\!
MVG!;0#%2'9N' E]6:VQ_7)NWQO0@L^MYC1='JN'Q97F)5&^"A+@DLKHTI]?#
MCVLZC'1K3^.%D-D,'>K)D>J%?!\A9=FQZH2LHC%;:.T1:,P0,KNA ^00Y(4
M.029(5@.06Y((X> 4*,<PHT=P@?:H;W$8,@.@7+(G$K?NK2*QFRAM8>AL4/8
M;(>ZNG1X!!!0FL(KR_2K'B,@*(R4(HZ!R*$?N2Z-L%R:0-\4B7(GKJ8R=[9F
M>N[-F(PZS(OJ(BI>_"#R9&J,J?2N3)MHK,M5M"ENO! V>Z%.2L>,T4/IV **
ML6K HI 0UY-KDRBU*<6U>6O,"S:;E]<H'0QX%GGQP*JW("2,7"K?GY;V;IBF
M0ZSYE0TW5@8?MB^S3^E@P,A$6-FG,6?1^[ZUZF)LH;5'H'$QV.QB.NU!$)![
M'UI.Y)E_C%4?$1 /A\0C<KFJD4,_=#'RL;*U#9@33XR\IQ,ZC3O!9G?2RUS#
MO "VH.+%E7_G'IM3Z5V6-M&8+;3V,#06"/?<#^HE=,)N0D>U23JAHT9JA8[:
MMUGH-)X$]]RAZ2]T5'^@$SK&5'I7IDTTUN4JVL^U-"Z'F%U.)Z%CQNB[VV 5
M+;:*QC9HN[5<_=9)0LW3&*3Q,<3L8SKY:W!V)9")"10/22 3$[@A\4/IW@8B
MA[XPS=2CLE $^O9#S_<\S;U-&A-##C0Q^WF!Y+_@!?D*-59-C%4TUN4JVA3O
M/+36<T.GC]8AJD6 M Y1'8=&ZP"1.JT#]&W4.J3Q)Z3GYDIOK4-48Z#1.N94
M>E>=331F"ZT]#(T)(F83U&W5L?04V=@64$P [X6\P UD2=0AL,U<8UZ(V;QL
MGF,NZN>8[[/\GJ<EGX'TJ69E2)%<HX !":CKR_>NI:T8!O='=5-=XV&(V</
MM.SST@1XMHNBW4=I-BQ9=2U6T9@MM#;QC6LAAVW<@+2KA@&KLR?P=%L84'FM
MB,WY]2E-L$/?USTZWK@88G8QA_[B0U3U+^A"42@S9M7!6$5CMM#:#X\W+H>:
M7<[KQ3=5#0$DOH$PC?@&(G7B&P@UBF_:F!':<U.EM_BFJH?0B&]S*GW+TBH:
MZW(5:XI'.V]!52^Y"9TH*"R<.;\73=UW@<#(U^^-K4_*;%6_&'67E66VJ \?
M>3+C>14@_G^?9>7WD^I=J^W;>Z?_ 5!+ P04    " "4BQ576JE2#TH'  !B
M(   &    'AL+W=O<FMS:&5E=',O<VAE970V+GAM;*U:6W.C-A3^*QJWTTEF
MZC62N*:)9Y)X=S:=W22SWG2?,99MNH!<(>?27]\CP(!!*$G'>; !'QV^<_UT
MR?D3%S_S#6,2/:=)EE^,-E)NSR:3/-JP-,P_\"W+X)<5%VDHX5:L)_E6L'!9
M#$J3";$L=Y*&<3::GA?/[L7TG.]D$F?L7J!\EZ:A>+EB"7^Z&.'1_L&W>+V1
MZL%D>KX-UVS.Y,/V7L#=I-:RC%.6Y3'/D&"KB]$E/KNFOAI02/P5LZ>\=8V4
M*0O.?ZJ;F^7%R%*(6,(BJ52$\/7(KEF2*$V XY]*Z:A^IQK8OMYK_U08#\8L
MPIQ=\^1'O)2;BY$_0DNV"G>)_,:?/K/*($?IBWB2%Y_HJ9*U1BC:Y9*GU6!
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
MK\3RV6B168CV&."T0#Y2E301?!XL!O3K='K7Q-&!;Y]39, 6.H1#*&'!^N^
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
MKXP]F5U"6W=H<+:!"R3B@&T.M5OKFB .J8(&L.(9GTPSFG9E*V.SB-I4AL(
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
M\4]@2/Q:R6,Z4E1PQ(A.X2N32/$U1$';.Q(LPBREMM!)XD8L/L5I._*<!03
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
M,L?',A5: ,]7G*O=1AOHGM^3?P!02P,$%     @ E(L55\ 7[>H3!0  X H
M !D   !X;"]W;W)K<VAE971S+W-H965T,30N>&UL?5;;CMLV$'W75Q!*$"2H
M:NOBB[(7 ]Y+T!1-NMAL6A1%'VB9MHE(I$)2]FZ_OF<H678WN_M@BZ1FAF?F
MS(SF;*?--[L1PK'[JE3V/-PX5Y\,A[;8B(K;@:Z%PIN5-A5WV)KUT-9&\*57
MJLIA&L>38<6E"F=G_NS&S,YTXTJIQ(UAMJDJ;AXN1*EWYV$2[@]NY7KCZ& X
M.ZOY6GP1[FM]8[ ;]E:6LA+*2JV8$:OS<)Z<7(Q(W@O\(<7.'JT9>;+0^AMM
M/B[/PY@ B5(4CBQP/+;B4I0E&0*,[YW-L+^2%(_7>^L?O._P9<&MN-3EGW+I
M-N=A'K*E6/&F=+=Z]XOH_!F3O4*7UO^S72N;3D-6--;IJE,&@DJJ]LGONS@<
M*>3Q,PIIIY!ZW.U%'N45=WQV9O2.&9*&-5IX5[TVP$E%I'QQ!F\E]-SLZOKB
M[FSH8(GVPZ+3NFBUTF>T)NR35FYCV;5:BN7_]8= T,-(]S NTA<-_MJH <OB
MB*5QFKU@+^O=RKR][#FWQ,*Q*VF+4MO&"/;W?&&=00K\\Y2SK:W1T[:H+$YL
MS0MQ'B+OK3!;$<[>O$HF\>D+2$<]TM%+UI\EX&6M?,!(,?A=L4_<%!N6CBAV
MR21B;B/8I:YJKAZ84$X8L0RD<MJ_F*.>P!CC:LENA77<87,)$>G8?&V$P'N'
M%'0;+UZ2M+%,\0IR.#%"*J]\P=6WKTJ2^N?!?,"X95]TB0N,X6HM3 1S9(ID
M43$E+C*\#-K#MY#F'9*5T15SJ'-&$/%L/7CS*D_3^/0Q-'^<G#)MCJ6.P'S@
MA2RE>^@$WPW8'>0. L%> ";D6BI>E@^L-GHK/1C8Y>@U6UUNI5JSHKV^U%RQ
M0E>5=#X^>L5>(UM9$K,# 5F;O"\0P-G=3I0KQ-;3X$UUO/Q P=LC]W[0.CCW
ME?CQ%GX0:H'4W#@I;+ /]Y.7+1[8"4AYQ\2]@QAY3G+H>8VA4"W!'CE]Y!E!
M2*:G%BK2.M(X1(V2E<2[Z"$% NF.)!&2JHTIO/^LMZ):P(FN^D?XB\;XQ3$"
M_#[*XVXYC2:C=IF.NR.D^V0R94F615F6>:8?^Q:Q0ZY%P/B]D:CAH+%T-WVT
M''[>L16R5.\(WPIIH0K)2W"^%5@[VX8'_5=6386NC^Y"C4 6PLL8?+^8X?C.
MD-]*HW L;MC Q60P9J,!P X(\:-L[-.520N#!5K5DMA 5@;/Q)M;*Q!,JJN%
M[LKTM@_];Q15>G=',?:[A>"&29^'%F0XKW%CJ.)NB=>?6#88QRP?I&-$=# =
ML[DE+]"21=^2O<TK4714)?XTC8+C7-_P)<HB38B;EJ>>L22/LDF[I  <P)$.
M(5Z#KS6AJ8U$Z&NT"E[I9E]K>X:3:)P?N.[R$^E-4J56ZY]]:GEZWHK[HFPH
MEX,&[4NC#/Y%</T[:6T#AHD[Z^P[QO&%0)JT&6!/@@]=>_F+0G?=%L2Q\\&M
MH-2ATL/%/C[ F"=1GDX#G\-CK..$UF.6OH_B- _NM$-&(4 3Q&4\81\5X0,D
MY-\C[(2G2T+ +P6FCI9Q32T8^>6PK_D#7Y2B"Q NR0 CC:?1*!FQ?!KE68ZX
M3:+1OC)ZFBP&BZI!2\8\1-V/2Y!0HPG>2X041\%K]AXH/7/IA)Y/?>B&1U-'
M)<S:SU:P3;2U TA_VH]O\W9J.8BWLQ]:*'JQ1=FLH!HC"4-FVGFJW3A=^QD&
M*8^)R"\W&$&%(0&\7VG$I-O0!?U0._L/4$L#!!0    ( )2+%5?ANRK/:0(
M %D%   9    >&PO=V]R:W-H965T<R]S:&5E=#$U+GAM;(V4WV_:,!#'W_M7
MG#)I3Q5)'$I_#")!VVFKA%K!NCU,>S#)0:PF-K.=IOWO=W9"QBJ*)B%BG^\^
M_M[9YW&C]),I$"V\5*4TDZ"P=GL5AB8KL.)FH+8H:66M=,4M3?4F-%N-//=!
M51FR*!J%%1<R2,?>]J#3L:IM*20^:#!U57'].L-2-9,@#G:&A=@4UAG"=+SE
M&URB?=P^:)J%/247%4HCE 2-ZTDPC:]F0^?O';X+;,S>&%PF*Z6>W.1K/@DB
M)PA+S*PC</H\XS66I0.1C-\=,^BW=('[XQW]L\^=<EEQ@]>J_"%R6TR"BP!R
M7/.ZM O5?,$NGS/'RU1I_#\TK6]R%D!6&ZNJ+I@45$*V7_[2U6$OX")Z)X!U
M <SK;C?R*F^XY>E8JP:T\R::&_A4?32)$](=RM)J6A449]/Y].Y^ =>/RV_W
M\]O%<AQ:@KJE,.L LQ; W@&,8*ZD+0S<RASS?^-#$M,K8CM%,W84>%?+ 231
M*;"()4=X29]AXGG).[R%,$\&N,SA46:H+5U4*]# S^G*6$VWXM>AI%OF\##3
M=<J5V?(,)P&U@D']C$'Z\4,\BCX=43SL%0^/T?_G3(X#+@?PAG%R4VLA-V +
M!"->H&K/#-V9 54<^XJ?GJA:@VT4E%QOT-CN%J*F(F:9JJ6E$'H-(&' +B$9
M03R$.(:I?0,"QB"^A/@<XC-@YV2$>.1^ASW)+7&<.(+D EC<6@Z5,]R[[J1K
MXYO:@-?6WOS>VK\;T[9=_KJWC\Z<<A320(EK"HT&Y]2FNFWD=F+5UC?/2EDJ
M@A\6]/:A=@ZTOE;*[B9N@_XU3?\ 4$L#!!0    ( )2+%5<?=,N?4P0  *T)
M   9    >&PO=V]R:W-H965T<R]S:&5E=#$V+GAM;'U6VV[;.!!]UU<,U*#8
M!51;=\NI;2!)4W07Z39(VEWL(RV/;:*2J))4G/S]SE"VXW@3/R0F*9XS<^9"
M<K)1^J=9(UIXK*O&3/VUM>WY<&C*-=;"#%2+#7U9*ET+2U.]&II6HU@X4%T-
MXS#,A[60C3^;N+5;/9NHSE:RP5L-IJMKH9\NL5*;J1_YNX4[N5I;7AC.)JU8
MX3W:'^VMIMEPS[*0-39&J@8T+J?^171^F?)^M^%OB1MS, 96,E?J)T_^6$S]
MD!W""DO+#()^'O *JXJ)R(U?6TY_;Y*!A^,=^V>GG;3,A<$K5?TC%W8]]0L?
M%K@4767OU.8+;O5DS%>JRKC_L.GW1HD/96>LJK=@\J"63?\K'K=Q.  4X1N
M> N(G=^](>?E)V'%;*+5!C3O)C8>.*D.3<[)AI-R;S5]E82SLYOKB_OK^\G0
M$A>O#,LM[K+'Q6_@<OBJ&KLV<-TL</$2/R0?]H[$.T<NXY.$?W;- )(P@#B,
MDQ-\R5Y8XOB2MX0AY<J\)JS'I:_CN G.32M*G/I4Y0;U _JS]^^B//QXPJMT
M[U5ZBOU$N$_CHG  /=;[OD:X4G4KFB>HG$BJAZ9;4GUW6C8K$,T"U'(I2_2<
M$.@H19J60:PT(G64A;(2QLBEQ 4(PY^HR[6P#'>< _C6P%_J >LY0:,^+5$
M]L X/F+966+@18.E(KN"V!?.@E6\[CFV \-TC("T;[L,SN4 -FM9KLF$)3[C
M+!PQO7]7Q-'HHZ$]K637J<47PB(;OFBUK+B8//(ZA\.(B<JH7=BV%O%7)UNF
M].1!B,Q1C(X"9 9 IT(O73Y"W3<#<C, E3+N2]EC;32(7P1O[_T1+:NA$P]A
M0R;/( K"(@W&><&C+ K&4019%@;C-(8LRH-Q',+GCH*(?#;(NJNW-*UXZD7T
MN6]4\Z$434F'GYA7Z!V+<0*7+QV'#1(M?5BJBHYN<^[M!/^+0G/?,_X3EGV-
M)%'@W2%? VR0R!R'DS#.@S@..1<IQ#0L@E&1\C3C:9$$29;VF2I(6SS*>3*"
M*")LGG'!TW6SM$0[9K3W75E1L3)I2M4U7(+'8=SKSX-L5%"<1MX-&@.R;EW)
M2D)1=UOX+4OR($Q&\+MWR^U.)?H@J@Y9P9ND9T0;IG%0C$-77'V$>*/E\%(S
M6 Z;MFL7K[MO/SPJ)5YTA7Y$6TDQEY6T<I>'<^]E(@YC[$K)NW!L'A%#3QQ
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
MJOHA43>,7+O+>RX-/@6<6>#;BRGK@.-+*<U+PT[0ON9&/P%02P,$%     @
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
M(/*"4&%*GD'PYQXO4"E/Q#)^-IQ!>Z0'/H[W[.\K[^QE)1Q>&/559I3/@G$
M&:Y%J>C&[#Y@XV?H^5*C7/4+NZ8V"B M'9FB ;."0NKZ*QZ:_^%_ '$#B"O=
M]4&5RH4@D4RMV8'UU<SF@\IJA69Q4OM+N27+NY)QE"PNYTMXO10KA>YD&A)3
M^HTP;>#S&AX_ 1_!E=&4.[C4&6;_XD.6TNJ)]WKF\5'"3Z4^A7[4A3B*^T?X
M^JV_?L77?\H?K@@6TJ7*N-(B?#]?.;+\%GX<,EMS#0YS^?Z8N*U(<19P SBT
M]Q@DKU[T1M&[(TH'K=+!,?9DF2-?+)56DD0'9@W*Z,T;0EOP,V,7K_$A564F
M]09*+0IC2?[&K-Z3SI5"IPBI<>1.0+!5X6!M%'>=FQSR>E3-8:_/D-AYKL0.
M-QD0'_ -A?7/R?M<8(K%"BWT>]W.#?HADW'&!_OG 2^A-^YUQ_%9A],!##F.
M>CX>0ORV&\7CSM*04%P7C^+N:#B"0_<4/NJ> NVFFA&.99::ZD9J5]LQ=%YW
MW]_R>H9=";N1VH'"-4.CT[-A +:>"W5"9EOUXLH0=W85YCQ*T?H"WE\;0_O$
M'] .Y^0/4$L#!!0    ( )2+%5?4_\1T;@,  )0(   9    >&PO=V]R:W-H
M965T<R]S:&5E=#(W+GAM;)U676_;-A1]UZ\@M&!H 362J$]GMH$D3=$5*1HD
MZ88]TO*U150B/9**VW^_2TJ6T\T1NC[8YB5Y#L_E/?+5?"_5%UT#&/*U;81>
M^+4QNXLPU%4-+=/G<@<"5S92M<Q@J+:AWBE@:P=JFY!&41ZVC M_.7=S=VHY
MEYUIN( [1737MDQ]NX)&[A=^[!\F[OFV-G8B7,YW; L/8#[O[A1&X<BRYBT(
MS:4@"C8+_S*^N,KL?K?A#PY[_6Q,;"8K*;_8X/?UPH^L(&B@,I:!X<\37$/3
M6"*4\?? Z8]'6N#S\8']G<L=<UDQ#=>R^9.O3;WP2Y^L8<.ZQMS+_7L8\G$"
M*]EH]TWVP][()U6GC6P',"IHN>A_V=?A'GX$0 < =;K[@YS*M\RPY5S)/5%V
M-[+9@4O5H5$<%[8H#T;A*D><6=[>7#[</)!7CVS5@'X]#PV2VJ6P&@BN>@+Z
M D%./DIA:DUNQ!K6W^-#%#,JH@=%5W22\$,GSDD2!81&-)G@2\8,$\>7O)0A
M8-'TJ<1Z7'H:9Y^&"[UC%2Q\M+L&]03^\M=?XCSZ;4)5.JI*I]B7[SK3*; 5
MY6W7DL:*)#OV#?UN-.GP+A414KRIF*C0LK8Z!)]$Q0P7VWZ[)DP3N2%X83!>
M&-D#TN+"1C;XP.F+4XE/2CN=^$_H]7Y*KX</&S$UD+^ *6LJBW\+%;0K/"*)
M ^\>[)^-/1#)',<9B8-HE@>41AY.I(3BL R*,K5A9L,R"9+,A3DILRB@16Z#
M@L0Q8O/,>ZQ1"-L8I)U9M/<H#6ML9EQ7LA,&UO\NP#'_/,B*,IC1PKL%K0EO
M=YW=SQ&%-VC(JRS)@R@IR&OOSEZI,.2)-1W8#%XD/4/:**5!.8O(A..RT7'9
MI.,PP>&2[5G&.4J#L3>O3.VN_/[39RR%FV3BO^DVG*UXPPT_E/*DN295G#;7
MCTGS_I<T[WN;/7>0G:'>I6/SCCD'1& 3/"-9D*=YD):)JT!&\R"WA3V>X%UW
M2MD:3JFPGIS1."BCWI]E7. G]FZEV+Y!6[23Z#2($1N5!:J)BB*@2388\M1)
M1Y_8<3E#3)J?]$SXK%.TH+:N'VKB#-XWC7%V;+F7?:<Y;N_[]4>FMEQH%+1!
M:'1>8.%5WP/[P,B=ZSLK:;"+N6&-KPV@[ 9<WTAI#H$]8'P16?X#4$L#!!0
M   ( )2+%5?1L\V"%0(  !\$   9    >&PO=V]R:W-H965T<R]S:&5E=#(X
M+GAM;'U4VX[:,!#]%<NMJJU4X6!V*4M#I "[*E5!B$O[4/7!) -8Z]BI[9#M
MW]=V *$*]B6>L>><.6//)*Z5?C%[ (M>"R'- .^M+?N$F&P/!3,M58)T)UNE
M"V:=JW?$E!I8'D"%(#2*NJ1@7.(D#GMSG<2JLH)+F&MDJJ)@^N\0A*H'N(U/
M&PN^VUN_09*X9#M8@EV7<^T\<F;)>0'2<"61ANT I^W^L./C0\ /#K6YL)&O
M9*/4BW<F^0!'7A (R*QG8&XYP B$\$1.QI\C)SZG],!+^\3^'&IWM6R8@9$2
M/WEN]P/<PRB'+:N$7:CZ*QSK>?!\F1(F?%'=Q-X_8I15QJKB"'8*"BZ;E;T>
M[^$"0.D- #T":-#=) HJQ\RR)-:J1MI'.S9OA%(#VHGCTC_*TFIWRAW.)I/9
MZFDQF:+GR2R=C2;I=[1<I:NGZ=-LM41W8[","X-F3&OFK^]C3*S+ZK$D.V88
M-AGHC0S?*ME"G>@3HA'MH/5RC.[>_T=#G.BS<GI63@-OYP9OFF6JDI;+'9HK
MP3,.!OU*-\9J]]*_K^EL^.ZO\_GN[YN293# KKT-Z /@Y,.[=C?Z\H;:SEEM
MYRWV9"VY-)6&W/608#*#:P(;BFZ@\--T2&COD?9H-R:'R]SDXKW]Z$R9WCEZ
M)&#KD%'K\P-&NFG'QK&J#"VP4=8U5##W;H)!^P!WOE7*GAS?5>=_0O(/4$L#
M!!0    ( )2+%5>MPN.$]P0  /,<   9    >&PO=V]R:W-H965T<R]S:&5E
M=#(Y+GAM;+69[V^C-AC'_Q6+FTYWTE9LP(![::0V<-IMJU2UO>W%:2^<X"3H
M &?&22[__0RA$'Z$M9VK2@V0Y_G8CY^';WCP9,_%]WS-F 0_TB3+KXRUE)M+
MT\P7:Y;2_()O6*:^67*14JE.Q<K,-X+1J'1*$]."T#53&F?&=%)>NQ/3"=_*
M),[8G0#Y-DVI.-RPA.^O#&0\7;B/5VM97#"GDPU=L0<FOV[NA#HS:TH4IRS+
M8YX!P997QC6Z#!$I'$J+/V.VST^.01'*G//OQ<F7Z,J Q8Q8PA:R0%#UL6,S
MEB0%2<WCGPIJU&,6CJ?'3_3/9? JF#G-V8PG?\617%\9O@$BMJ3;1-[S_:^L
M"@@7O 5/\O(_V%>VT "+;2YY6CFK&:1Q=ORD/ZJ%.'%0G&$'JW*PN@[.&0>[
M<K"?.X)3.3C/'0%7#F7HYC'V<N$"*NET(O@>B,):T8J#<O5+;[5><584RH,4
MZMM8^<GIXYJ!)4]4O<39"D@Z3U@.5,GE+)- JB]G/-W0[/#^G6\A[U.NBF/'
MLBT#49S3U4JP%94L O,#6/!,"I5W( \;!F@6U::"+?@JB\O"2)E<\^@2? B8
MI'&2?P2_@*\/ ?CPT\>)*55 Q;3,137YF^/DK3.3M\&M&G2=@S"+6#3@'XS[
MNR/^IEK(>C6MI]6\L4:!OVVS"V##GX$%+7M@/K/GNUM#X?R_T<-7C]Y:#+LN
M+;ODV6=X05,A1>;Y$MQ7!?'M#V4*ODB6YG\/9?W(=8:YA71>YANZ8%=&6:AB
MQXSI^W?(A9^&EEPG+- )"S7!6LEQZN0X8_1IE8JAU3\ZNJ5C\3NSFUH0.Q[&
M>&+N3E>V;XA\8F$'NFW#H&_H6-AUK*)*3PW#OJ%-H LQ; Q;T>(Z6CP:[:.@
M6;YD0BBIXCLFP*/ZL0/?;EDZ9V*P!$=Y+RU!G;! )RS4!&LEQ:V3XKZ1/K@Z
MDZ,3%NB$A9I@K>1X=7*\U^K#T1&W;GO7);[3N9MG X8N5G^DJP]]0YO8$$*O
MJP\#AECI@T_.Z(-?1^L_6Q^H!'<\5D\_<?;?,C&*?6DEZH0%.F&A)E@K-Z3.
M#7DCF2 ZDZ,3%NB$A9I@K>0@V/0/\+5"47FVE<+S/&1UA&+ T+(Q\1#L",6
MH6VY#L(=PW#(D!#BGA#;\9[T2V@TWFLF>"[%=B&W8EP;QD$OK3^MM$ K+=1%
M:Z?$:E)BO9%"5&!=*=))"[320EVT=HJ:5A"--C.C*F'W;E5?M0<>Z;8; X;$
M1X1 JZL2?4/D.X385D\F!BP)A.II!I_1B::_0N,-5JD3A[PHO7&5&,6\N 1U
MT@*MM% 7K9V0I@5$^*U40FLSJ)46:*6%NFCM%#4-(1IM:495PNW=J1YV/=_O
M-AT#AECU)M#!797H&R+U: *1[7158L#2<CWH>V?:#M1T66B\S?H]EK)X\5J\
M+GW8;C;) <S65'4>MS2C*Y86;V%'U6,4_^+2U$D+M-)"7;1VHIH&$?EOI1Y:
M>T2MM$ K+=1%:Z>HZ1/1:*<SJAZD_P828ULU(UWUZ!O:R$(.)EWUZ!NZQ'$\
MEW3%HV_HV;Y%[.X3AGFRB9,RL2IWSW*PX-M,'E^ZUU?K';KK<E^J<_T&7<[0
MP/6@V-$K-XT:_'$[\):*59SE(&%+-12\\)34B>,.V_%$\DVYA33G4O*T/%PS
M&C%1&*COEYS+IY-B@'J?<_HO4$L#!!0    ( )2+%5=9 \2R:P(  ',%   9
M    >&PO=V]R:W-H965T<R]S:&5E=#,P+GAM;*U476_:,!3]*U=9-;522T*@
M'V,A4C_8QK12!&WW4/7!)#=@U;%3VP'Z[V<[:<:DE*>]D'OM>X_/.>8ZV@CY
MHE:(&K8YXVKHK;0N!KZODA7F1'5$@=SL9$+F1)M4+GU52"2I:\J9'P;!F9\3
MRKTX<FM3&4>BU(QRG$I099X3^7:%3&R&7M=[7YC1Y4K;!3^."K+$.>J'8BI-
MYC<H*<V1*RHX2,R&WF5W<-6W]:[@D>)&[<1@E2R$>+').!UZ@26$#!-M$8CY
MK/$:&;- AL9KC>DU1]K&W?@=_9O3;K0LB,)KP7[35*^&WH4'*6:D9'HF-C^P
MUG-J\1+!E/N%35T;>)"42HN\;C8,<LJK+]G6/NPTA.$'#6'=$#K>U4&.Y0W1
M)(ZDV("TU0;-!DZJZS;D*+>7,M?2[%+3I^/9Z'$T>1C!;'1]]WTROA_?3>#P
M!C6A3,&$2$FL:T=P C-<(R_QV 3VLBE?PA2E^UOP!.%NP>B26*>/8;0MC.F8
MPCW-;9W(8&ZV5$:2JF"NB=1@"",\76ZI>AY &(2]D^#\).C" 5 .MY0Q4ZLB
M7QN9EJR?U)*N*DGA!Y)^EKP#O>#80<+#_ 8.#X[^A?&-2XU586-5Z'!['UGU
MWPR IU\&&\8:<_7<)K BTF\G8N=TH J2X- S@ZA0KM&+/W_JG@5?]\CL-3)[
M^]#CO^J*'76B4==Z(Q7D%P=IWX%UW.U>=,+(7[<PZ3=,^GN93-O/A[24+FHC
MLA^Q!V](I&ISR=^9(?L<W1*YI.8PAIF!"CKGIQ[(:L2K1(O"C=5":#.D+ER9
M5Q&E+3#[F1#Z/;&3VKRS\1]02P,$%     @ E(L55PU1-PYH @  6P8  !D
M  !X;"]W;W)K<VAE971S+W-H965T,S$N>&ULK55=;],P%/TK5D!HDZ!QG(^6
MDD;:6B% @*95@V<WN6VM.7&PW7;\>VPGS?J157O@)?&U[SGW'#N^27="/JHU
M@$9/):_4Q%MK78]]7^5K**D:B!HJL[(4LJ3:A'+EJUH"+1RHY#[!./%+RBHO
M2]W<G<Q2L=&<57 GD=J4)95_;X&+W<0+O/W$/5NMM9WPL[2F*YB#?JCOI(G\
MCJ5@)52*B0I)6$Z\FV \C6V^2_C%8*<.QL@Z60CQ:(.OQ<3#5A!PR+5EH.:U
MA2EP;HF,C#\MI]>5M,##\9[]L_-NO"RH@JG@OUFAUQ-OY*$"EG3#];W8?8'6
MCQ.8"Z[<$^V:W"3R4+Y16I0MV"@H6=6\Z5.[#P> X"4 :0'DM8"P!83.:*/,
MV9I13;-4BAV2-MNPV8';&X<V;EAE3W&NI5EE!J>SN?DLB@T'))8H%Y669E\1
M50JT0K0J$&=TP3C3#!2ZFH&FC*MK] $]S&?HZNUUZFLCPE+Y>5OPMBE(7BCX
M;5,-4(C?(X))V .?7H;/(#?PP,'),=PWUCO_I/-/'%_X M]T[_FF\7QC/']_
M]MSGKR&,^@GMK1NKFN8P\<RU4B"WX&7OW@0)_M3G]C^1'7D/.^_A)?9G[\UY
M]WEM"!)'8!O"-@OQQX3@)$C][:&/\T0R#$=1'.$N\4ACU&F,7J>17SZ4AB4^
MJ#]*<!S&T8G.\[P$XV!(DGZ9<2<SOBCSI^FWK]C.^'R72!@G0SP\D=F3&(0C
M,@JB$YW^P=6W;?<'E2M6*<1A::!X,#1,LFEE3:!%[;K!0FC36]QP;;H_2)M@
MUI="Z'U@&TSW/\G^ 5!+ P04    " "4BQ57BMIMH(("  #?!0  &0   'AL
M+W=O<FMS:&5E=',O<VAE970S,BYX;6RM5%%OVC 0_BNGK)I::2.0,+IV(5*
M5F-JNPKH]FR2@UAU;&8[I-NOG^V$C'84[6$OB<^^[[O[SKZ+*B$?58ZHX:E@
M7 V]7.O-I>^K-,>"J([8(#<G*R$+HHTIU[[:2"29 Q7,#[K=@5\0RKTX<GOW
M,HY$J1GE>"]!E45!Y,\1,E$-O9ZWVYC1=:[MAA]'&[+&.>J'S;TTEM^R9+1
MKJC@('$U])+>Y;AO_9W#-XJ5VEN#5;(4XM$:TVSH=6U"R##5EH&8WQ;'R)@E
M,FG\:#B]-J0%[J]W[-=.N]&R) K'@GVGF<Z'WD</,ER1DNF9J#YCH^>#Y4L%
M4^X+5>U[/O @+94610,V&124UW_RU-1A#V!X#@."!A"\!/1? 80-('1"Z\R<
MK G1)(ZDJ$!:;\-F%ZXV#FW44&YO<:ZE.:4&I^/QU[O%+!DO()G/KQ9S2.XF
M<#--1M.;Z6)Z-8?3"6I"F8([(B6Q)3^#]_ PG\#IR1F< .5P2QDS-Z(B7YN$
M+*V?-L%'=?#@E> #N!5<YPJN>(;9<[QOA+1J@IV:47"4\$O).Q!VWT'0#<(#
M^8S_'1X<22=LBQLZOO"UXAIUTCQ42)1"K2#A&=Q0LJ2,:HH'"U83]@\3VI:^
M5!N2XM S/:M0;M&+W[[I#;J?#JG]3V3/M/=;[?UC[/$,M\A+-)V>BC6GOS #
MG1,-%5'FT:2L-#=N7T^ZJQ$[7I@ZVH6+9D?3-NYU+B)_NZ_W;Y^P$[0^M0Q_
MKU<*E&LW0I1)H^2Z?FCM;CNE$M><+_9'9GK5P^8/33WZ;HE<4ZZ X<I0=COG
MIO=E/4YJ0XN-Z\BET*:_W3(W$QBE=3#G*R'TSK !VID>_P902P,$%     @
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
MZ?&%VCG0^E0INYZX^[U^SO7_ %!+ P04    " "4BQ57.HR.NJ\%  !+)P
M&0   'AL+W=O<FMS:&5E=',O<VAE970S."YX;6R]6FUOVS80_BN$-PPMX,:B
MWN4Y!AKK91F6(6C:[4.Q#XS,Q$(ET1/I./GWHUXB6S*MV.UA'Q)+]-US1]YS
MXNG,V985W_B*4H&>LS3GEZ.5$.OI9,+C%<T(OV!KFLMO'EB1$2%OB\<)7Q>4
M+"NE+)WHFF9/,I+DH_FL&KLMYC.V$6F2T]L"\4V6D>+EBJ9L>SG"H]>!3\GC
M2I0#D_EL31[I'15?UK>%O)NT*,LDHSE/6(X*^G Y^HBG$?9*A4KBKX1N^=XU
M*J=RS]BW\N9Z>3G22H]H2F-10A#Y\407-$U+).G'OPWHJ+59*NY?OZ*'U>3E
M9.X)IPN6_ITLQ>IRY([0DCZ032H^L>UOM)F05>+%+.75?[1M9+41BC=<L*Q1
MEAYD25Y_DN=F(?84)(Y:06\4]+Z">43!:!2,4Q7,1L$\5<%J%*Q3YV W"O:I
M%IQ&P:F"5:]N%1J?"#*?%6R+BE):HI4757PK;1F1)"^I>"<*^6TB]<1<QA.)
M%95_!:6(Y$O$DV>4L5RL.*+YDB[1[YN<(D,;(UW3C4I$7NAC242^IA63TI<Q
M8IL")7G,,HK6M$#R0H(@OB(%15O"44S2>),2(0'EW0-+91+P*7KG4T&2E+]'
M']"7.Q^]^_G];"+DQ$KW)G$SB:MZ$OJ121CHIG8X*!U6Z(?#^O: _D0N:+NJ
M^NNJ7NF#@'+)+MHE4_BS&%:_(854QT?5_=.MZPKUX'3K*O7PQ^8>?;?SG5 8
M+<&-"L\X@A>0(D_R1XYN)2OO2CJ.T17A23Q&]R]H4=-TD1+.Q^@ZC]/-4DJC
MSUM6#Z(;*E9LB;[^(7'1M: 9_T=%T-H)4^U$N9],^9K$]'(D-PQ.BR<ZFO_R
M$[:U7U7L@ 3S(<$"2+ 0$BP" NMPS&PY9@ZAS_^4)4/][%-1H]:U*]VR,GB:
M8VPYFF//)D_[43^4\US#T*RNF'\H9F''-GIHP:'8!T/W#-P5"P_%=&QJAMN3
MBP[E3-=T]ISK+)S5+IPUF)S7Z@UCC)9)NA'*1_F5!9EID& ^)%@ "19"@D5
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
MT%[#T%"DNDI8J82[5)(2!0+=9AD3V47K83M%;]T@T2@4FBZORAL> ;<T:+P
M1:-0:+J:*F%XUG7W)98>&N^]S:6QG;>W2F;224VJ#U_E J\S&'1ZM6MQ;*?H
M/;L@T2@4FBZO"A_>&-RKH%D#%(U"H>EJJKCA61?AEWAU8KQA-M?)=M[>*AE)
M<8M554;P.D-"MU4[%\IVDM[3"Q*-0J'I JLHXEV#FQ4T=X"B42@T_3=>E3RP
M=2U^@5DKP*99)PVSVGG[JM1".C:[%:NH@#NC0J=;/Z1[;C6KG:/O] )%HU!H
MNKXJ9& ,;58,FBE T2@4FJZFRA38_A#C K,2HV]&3;."9H46TC:SJA" [2'@
M-@C2?2)=NF8!"P_^4\0N2JUVFMXS##1!0*'I$JN@@4?@?@7-%:!H% I-5U/E
M"FQ_JG&!7\=GI58[;V^5C*1DVN)7%02P/0B<Z]>NY&JGZ3W#0%,$%)HNL4H;
M> KN5]!H 8I&H=!T-56TP/;''!?X]?J\Q3!H9#"38L_L5Z*R +%G@;/]VAE?
M[42]&R5 HP04FBZR2AS$@W8L <T7H&@4"DU74^4+TOD0HZ=C*\"F8TG#L7;>
MWBJ925M^%R8G34WV0'"N8SLCK)VG]Q2#;6WZ/QX]$)4Z"'AW$P$-&*!H% I-
M5U,%# +=XD2,W4O-IZE+.V]OE<RDI,6P*A$0>R(XV[#AH>,."_K\ 12-0J'I
M&JO80<#[G0AHP@!%HU!HNIHJ81#HIB=B[F=J^A4T.$"AE2*Y)SWDTHTO12]^
MA@KKE@W4]=ZZW_^VZ')O[+_S;I9EU[Z"*?^)8.7SES#)4,2>)>3@*N^ZYV5?
M?KDATEW1J?Z4"OF54+S=,G_#>'Z _/PY3<7;1DY0_W?$XE]02P,$%     @
ME(L55U<)?!$U P  > L  !D   !X;"]W;W)K<VAE971S+W-H965T-#,N>&UL
MK991;YLP%(7_BL6FJ9768B 0TB5(:Z)JFSJI:M?MV24WB56PF6V2]M_O&BA-
M$TJW:"\)!I_C[UR#[?%&JGN] C#D(<^$GC@K8XHSU]7I"G*F3V4! I\LI,J9
MP:9:NKI0P.:5*,]<G]+(S1D73C*N[EVI9"Q+DW$!5XKH,L^9>CR'3&XFCN<\
MW;CFRY6Q-]QD7+ EW("Y+:X4MMS69<YS$)I+010L)LYG[VSJ58*JQT\.&[UU
M36R4.RGO;>/K?.)02P09I,9:,/Q;PQ2RS#HAQ^_&U&G'M,+MZR?WBRH\AKEC
M&J8R^\7G9C5Q8H?,8<'*S%S+S1=H H76+Y69KG[)INE+'9*6VLB\$2-!SD7]
MSQZ:0FP)O,$K K\1^'\K"!I!4 6MR:I8,V98,E9R0Y3MC6[VHJI-I<8T7-AI
MO#$*GW+4F>2B-*4"Z\SS,B<98$E(P1YQIHPFI9B#(D**DY2)%&O-[C(@^ XI
M9KA8UMTU89K(!?E6"B !_4A\Z@=D VB+#Q8RPU=%GY&C&1C&,WU,3LCMS8P<
MO3\>NP8C6! W;7#/:US_%5P<X[0=HT,^[9?/($6Y5\G]EW(7"]=6SV^KYU=^
MP2M^EU7^KABU;M"ML]_FF2Y8"A,'/SX-:@U.\N&=%]%/7:'^D]F+B$$;,>AS
M3Z[!+@;V-< I?J7JY[5%5%G8A6.=>'04^3X=N^OM(+U#'1ADT 89] 9!]D$7
M>ZT*M]A]WX^'\6"'O=?]0/:P90_?8@^[V,,.]C@(PEWV7O<#V:.6/7J+/>IB
MC_;8XY#ZPV@'O=?\0/1ABSY\"WW8A3[<0_<\CT;A#GJO^8'H<8L>]Z+_6.'Z
MRQ8&5%> >"_ "%^<'?S> 0[$'[7XHWY\:5AFMQ^N4UD* _/=7:?=I+KRC?;R
M1>$P'MG9?!&Q%^+ B!Y]WGII;\A+T)KPO"AM/(XA<1#3N2?2O3PG81#18#=/
M_X"'!MHZ2WB]@:ZLJ3!DS;(2['[Q+W/6>&]O(A$=^/%H=Q/IZAB/0CIX7CIJ
M?G?K6&3/I-^96G*AD66!2GHZQ(*J^IA7-XPLJI/2G31X[JHN5W@T!F4[X/.%
ME.:I80]?[6$[^0-02P,$%     @ E(L55W^-7I"V @  &@@  !D   !X;"]W
M;W)K<VAE971S+W-H965T-#0N>&ULK5;9;MLP$/P50BV*!$@BB3KCV@(2&T5;
MI&B0HWVF[;5%A")=DK;3OR])R8H/Q4B!O$@\=D8SNSS47POYI$H C9XKQM7
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
M^,!Q&#%T@RG%LH/OT4=T/_/1Q=OW?9.+?!)E!AGW2',[+W"[Z)HD?,W0)%G
MH@3O5^/;%7A3U)D7ZQR*'3F5A%_3I(%<ZP-R+,<M6<_X?+A35L[_99_\<_:"
M&&[>>5?QN2]U/@E(#.@.[Y$?LB B+*6 ?@[GC%.Q?7^5]5LS-LL9Y9'68QL<
MP, 09Q8#N@7#>_?&;EN?RL2ND\RODVQ2$UFA+<V\+<TJ=F]*R394I["X!%"H
MF\3Q'EA90S176W')*V'K778[W<N^N3U6^C2J[3BM8I!_&N1<=JUFNQ@V.0WK
MM"PK#RK4W,IK;E76/%DN05T81_4B<0!!6<F55*_]#]9)YFLRVSK2QFK8<K,6
M%*PI9T'I=JYTNU+I&<<\Y80^G:-T)=5KE:Z3S-=DME-0VK&?"5U3RH+0G5SH
M3J70#SA*L;9"D?!B. E V*H(A*<INPE'E6ROU;I.,K]SLN%MQ[:.MKP6NZ:<
M6FSSR-#$0%?*23(4D#3A^H;+9W.S.E0>[=G\R.Z-[9)Y7YA;[47_TFMG?(WI
M*DP8BF I4EF-CMBN5+M-/>!DH^S4G'!ASM3K6AATH#) ?%\2P@\#F2"W_-X?
M4$L#!!0    ( )2+%5>UA)$% P,  #H*   9    >&PO=V]R:W-H965T<R]S
M:&5E=#0W+GAM;*U676_:,!3]*U8V;:VT-2$AH>H@$DW8QB1H5=KM8=J#26[
M:F(SVT#[[V<[D,$:LB+! _''/>?>>_QUNVO&'\4<0**G(J>B9\VE7%S9MDCF
M4&!QP19 U4S&>(&EZO*9+18<<&I 16Z[CA/8!2;4"KMF[):'7;:4.:%PRY%8
M%@7FS]>0LW7/:EG;@3LRFTL]8(?=!9[!!.3#XI:KGEVQI*0 *@BCB$/6L_JM
MJ[BC[8W!=P)KL=-&.I,I8X^Z,TQ[EJ,#@AP2J1FP^JP@@CS71"J,WQM.JW*I
M@;OM+?MGD[O*98H%1"S_05(Y[UF7%DHAP\M<WK'U5]CDXVN^A.7"_*-U:1LX
M%DJ60K)B U81%(267_RTT6$'T/(. -P-P'TMP-L O'\!_@% >P-H&V7*5(P.
M,98X['*V1EQ;*S;=,&(:M$J?4+WL$\G5+%$X&48WH]'P?C08WT]0?QRCZ&9\
M/QQ_&8RCX6""SF*0F.0"C3'G6*_0.?J('B8Q.GM[WK6E"D#3V,G&65PZ<P\X
M"]"(43D7:$!32/?QM@J\BM[=1G_M-A*.\#-J=3X@UW&]FG"B_Z-=QZ!;=<DT
MH[\MZ07RG#KG>[EXU4IXAL\[M!*L*(A4)TH*A&F*(B45H3.@"0&!8B*2G(DE
M!_2S/Q62JP/SJR;HZ]))N]Z)OD2NQ (GT+/4+2& K\ *W[UI!<ZG.OU.21:?
MB&Q/W'8E;KN)/537E\Q!BXMPP994UDG72'&L="598,CTW;L*O<#1OZZ]VE7E
M1$[W5/$K5?Q&5?I2,D[A6;Q'&8"HT\1_D89_Z;_((FKT<^Q&.1'9GB1!)4G0
M*$G$5L A1>(U&Z:1ZM@-<TJR.'BQ;!U_;_/MB=.IQ.DTBA,3KIYKQLL+BF49
M24!U"%7W$J8)J#I *L7,>WY0M$87QXIV2K*X\SK1[)W7M@ ^,U6+0(E.N'QX
MJ]&J,.J;>L#^:UY652/,9TH]E$.FH,Y%1VU]7E8J94>RA7F[ITP=U<(TYZJX
M ZX-U'S&F-QVM(.J7 S_ %!+ P04    " "4BQ57DK:4[3\#   F%   #0
M 'AL+W-T>6QE<RYX;6S=6%UOVC 4_2N1NTZM-#5 1B K(&U(E29M4Z7V86^5
M(0Y8<NS,,1WTU\\W#N&COHCU82T+:F/?XW/NL7U#W Y*LQ+L;LZ8"9:YD.60
MS(TI/H5A.9VSG)97JF#2(IG2.36VJV=A66A&TQ)(N0@[K58<YI1+,AK(17Z3
MFS*8JH4T0])K0H&[?4V'I!U_)(&3&ZN4#<G#Q?M?"V6NWP7N?O;A[*SU<'F]
M'[^H@$L2>D6[1XA>M5JX,("8>'R<^"%M3+IWE/0!94RXORN\]G%NI1I3YQ@Y
M\9*WJ BQU_(0-RE=OK ND]$@4W)3+1%Q :M+<Q8\4C$D8RKX1'-@933G8N7"
M'0A,E5 Z,+9,;:(V1,HG![==#RJXULFY5+K*[3*XWY-Z^!ZP[H%!+D1CL$-<
M8#0HJ#%,RQO;J097P6=04+?O5X5U.--TU>YTR890W6R2B=(ITTV:-EF'1@/!
M,K"C^6P.=Z.*$$!C5&X;*:<S)6GE8<VH&U9VRH2X@\?[9[:CO<RV=JS:+]DT
MK:&ZZ61<!_2WU9SVMFST(MV@X(_*?%G8Z<BJ#X7-;C7+^++J+[/& *;>QM5I
M48C59\%G,F=N\D<G' WHFA?,E>9/-AN4RM0&F";!(].&3[<COS4M[MG2K,MI
MF>&>.R?H^=^N\XQ)IJG8-FUK_RVO\HL=1[W7LEQ]J^P;]GJLW]EOW63W%$S&
MIV#R)&JR?PHFDQ,PV7NU;\V#)L/ZE+%UE-DYR#31  Z,0_(##IYBDS28++@P
M7-:].4]3)I^=9ZR\H1/[1]".OAV?LHPNA+EOP"'9M+^SE"_RI!EU"PM1C]JT
MO\'TVG%S6K6YN$S9DJ7CNJMGDZH9V(;-6E] V$=NJLN/8!R'^1' L#R8 XSC
M6%B>_VD^?70^#L.\];U('^7T48YC^9!Q]<'R^#F)O?PS39(HBF-L1<=CKX,Q
MMFYQ##]^-<P;,+ \D.GOUAK?;;Q"#M<!MJ>'*@2;*5Z)V$SQM0;$OV[ 2!+_
M;F-Y@('M E8[D-^?!VK*SXDBV%7,&_8$XTB28 C4HK]&XQA9G1@^_OW!GI(H
M2A(_ IC?011A"#R-.((Y  \8$D75>W#O?12NWU/AYC^#HS]02P,$%     @
ME(L55Y>*NQS     $P(   L   !?<F5L<R\N<F5L<YV2N6[#, Q ?\70GC '
MT"&(,V7Q%@3Y 5:B#]@2!8I%G;^OVJ5QD L9>3T\$MP>:4#M.*2VBZD8_1!2
M:5K5N %(MB6/:<Z10J[4+!XUA]) 1-MC0[!:+#Y +AEFM[UD%J=SI%>(7->=
MI3W;+T]!;X"O.DQQ0FE(2S,.\,W2?S+W\PPU1>5*(Y5;&GC3Y?YVX$G1H2)8
M%II%R=.B':5_'<?VD-/IKV,BM'I;Z/EQ:%0*CMQC)8QQ8K3^-8+)#^Q^ %!+
M P04    " "4BQ57GQ^?VG<$   H'P  #P   'AL+W=O<FMB;V]K+GAM;,69
M6V^C.!2 _XJ5IZZTW81+.S/59"2:T XS"8D"K7:?5@Z<-%8!1[;I[=>O#9NI
MTTV/]L7J0P08<#X.]OF,_?61B_LUY_?DJ:X:.1YLE=I=#(>RV$)-Y1]\!XT^
ML^&BIDH?BKNAW F@I=P"J+H:^J/1^;"FK!E\^[JO:RF&]@%74"C&&UUH"FX9
M/,K7\^:0/##)UJQBZGD\Z/8K&)":-:QF+U".!Z,!D5O^^)T+]L(;1:NL$+RJ
MQ@.O/W$+0K'B/\69@<SI6G8EBJY75(.,!^<C7>&&":FZ*[KZJ69\ 'UQ?]0J
M?L4J!6)*%5P+WNY8<V>JT4\QM!ZCB\-^VP?Q0OR?,/+-AA4PY45;0Z/Z. JH
M#& CMVPG!Z2A-8P'$_X PCR/_H.D[)]-:2@K4N*"Z1,B*3L\ARB+=!JG63PE
M>B];S))IE.N#RV@6I9.86) ^ NE_(.3?O@49()#!AT!FN=[,X]2"#!'(\ ,A
M#R)YAD">?21D8$&>(Y#G;B&3-(]7R9Q<):ENA$DT^_6F\\PB_(00?G)+N(IO
MX_0F)JMXLKA.DSQ9V(WP,P+VV?G[S5?1)"=1EL5Y1J)T2F9)=)G,-&1L1^\+
M OG%]?O5T<L7J[_L/#W"$O7(+5"6+R8_3R^COE_,E[J'1&_>J8>*Q+%)KJ)D
M16ZCV4UL$V'6\!QK(TEUG&*RC%<F8/-%2K+OT>H #_.%YU@8T_@RMUDP+7B.
MO3"/?BQTE&YT(YO'*[L+>I@(/,<FF,6ZN1_08!G?<Y[RN_:41W\>,F$YWG.<
MY$W#3O+..ET>-;DU2:]CK:1#2"S?>XX3/N9*<K*T,;&,[SE.^4>$24[TYT,%
M\C=[((Q9P'=L =2=!P,X'Y.![U@&O^QY-(#HIX1C*;RGT7]!;4Q,#KYC.;S:
M]&@$,5?XCEWQCE;WG#8FY@[?L3N,7H_&#E.([U@AO=".8F$6\1U;!$_04QL3
M\XCOV"/Y%LB&5Q5_9,V=F?S1,20[ 5+?1M36QL0\XG^$1Z:@**LD2:D]78&I
M)'#]0:'K*-L*"-^0@C=*T$(1*B4H26A3VIB82@+W,U2(\>S9@ #S2N#8*Z9M
M%KS>\49?)TU,6?.@=[EX-M&U,=%)*L=>R10O[D_75$+9X4(CNXL(/)E]&Q-S
M3.#8,4=Z.I%M75/!7G2?MS$QQP2.'?/^8*+K[C8F9IW L74B17ZT#9!@]#OQ
M1WY@NC>90@'U&@0YZ$*8A0+'%KKB0F=QT#\!T#%*]D1JG9JVDL!!%\(L%#C_
MFGEG_-.G>!L3LU#@V$*F"^F[6L$4@RXA5;RY.U4@:E+"VIZ/QBP4.K90/TQ[
MM:,0U*S:V$.C$--/Z%@_;V9&WJ+:F)A^0L?ZN6KUFX9^@:VM204ZPY,=?:X[
M&[4V)J:?T+%^CN9U,^#0M:FMG==#=)7$L7[VPW2\66+F"1V;QYZ+.L)I8V+F
M"1V;!YV>(B<V)F:>L#//<+\R6\*&-5"F^B^D+B]H52P%,9M^SCD\,_-(F[:J
M)KILT<PX+?<+O?M%ZF__ %!+ P04    " "4BQ57N2/:-[(!  !4'   &@
M 'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QSS=D[;L) %(7AK2 O(,-]0$(4
M4J6AC=B !<-# 6QY)@KL/@@*.%:*-&A.9<U8OOZK3];X[3/NZKQM#FFS;=/@
MN-\=TK3:Y-R^AI 6F[BOTU/3QL/YSJKI]G4^+[MU:.O%5[V.08?#<>CN9U3O
M;_<S!_-3&_\SL5FMMHOXT2R^]_&0_Q@<?IKN*VUBS-5@7G?KF*=5..YNVRE<
M+O)TGEP-9LMIU<V64H7200I!6C[((,C*!SD$>?F@$02-R@>-(6A</N@9@I[+
M![U T$OYH D$3<H'R1!E'!(D]; FT%J0:R'P6A!L(1!;D&PA,%L0;2%06Y!M
M(7!;$&XAD%N0;B&P6Q!O(=!;46\ET%M1;R706WL?VP1Z*^JM!'HKZJT$>BOJ
MK01Z*^JM!'HKZJT$>BOJK01Z*^JM!'H;ZFT$>AOJ;01Z&^IM!'I;[["$0&]#
MO8U ;T.]C4!O0[V-0&]#O8U ;T.]C4!O0[V-0&]'O9U ;T>]G4!O1[V=0&]'
MO9U ;^\==A/H[:BW$^CMJ+<3Z.VHMS]2[Y1/NYAN/=<UOO^15.?SL_'V^LOR
MNMECYX)S@)^([[]02P,$%     @ E(L55V7AF;6W 0  91P  !,   !;0V]N
M=&5N=%]4>7!E<UTN>&ULS=G);L(P% 707T'9(F(\E X"-FVW+8O^@)L\2$02
M6[:A\/=UPB"UHJB(2KV;1(GM=U]LZ6PR?MM:\KU-735^DA0AV ?&?%90K7UJ
M+#5Q9&Y<K4-\= MF=;;4"V)B.!RQS#2!FC (;8UD.GZBN5Y5H?>\B:]]:9I)
MXJCR2>]Q-['-FB3:VJK,=(CC;-WDWU(&^X0TKNSF^**TOA\G).QD0COR<\!^
MW>N:G"MSZLVT"R^ZCK/8IF(^;"ORZ?D2)WHT\WF946ZR51V7I-XZTKDOB$)=
MI;NB_?/)(>XP[:[\ZORNS+G .'/FC/7QQ!Q='G<XDG;UP,9"Y$)Y_A./B;'T
MU=]'[6GGE/\R.V[OAW'+[CP\ZV[7[_'7,S[6O[ / =*'!.E#@?1Q ]+'"*2/
M6Y ^[D#ZN ?I@P]1&D$1E:.0RE%,Y2BH<A15.0JK',55C@(K1Y%5H,@J4&05
M*+(*%%D%BJP"15:!(JM D56@R"I09)4HLDH4626*K!)%5HDBJT215:+(*E%D
ME2BR2A19%8JL"D56A2*K0I%5H<BJ4&15*+*J_Y3UW9CE7__X:N]IK<OFD,^Z
MOXO33U!+ 0(4 Q0    ( )2+%5<'04UB@0   +$    0              "
M 0    !D;V-0<F]P<R]A<' N>&UL4$L! A0#%     @ E(L55[N/@)'N
M*P(  !$              ( !KP   &1O8U!R;W!S+V-O<F4N>&UL4$L! A0#
M%     @ E(L55YE<G",0!@  G"<  !,              ( !S $  'AL+W1H
M96UE+W1H96UE,2YX;6Q02P$"% ,4    " "4BQ572OORP,P%  #)'@  &
M            @($-"   >&PO=V]R:W-H965T<R]S:&5E=#$N>&UL4$L! A0#
M%     @ E(L55ZTN;_$4!P  9QT  !@              ("!#PX  'AL+W=O
M<FMS:&5E=',O<VAE970R+GAM;%!+ 0(4 Q0    ( )2+%5=FFSJ<MP(  $,'
M   8              " @5D5  !X;"]W;W)K<VAE971S+W-H965T,RYX;6Q0
M2P$"% ,4    " "4BQ57)7A)-E<&  "R(@  &               @(%&&
M>&PO=V]R:W-H965T<R]S:&5E=#0N>&UL4$L! A0#%     @ E(L55[)*?%+F
M!P  R3<  !@              ("!TQX  'AL+W=O<FMS:&5E=',O<VAE970U
M+GAM;%!+ 0(4 Q0    ( )2+%5=:J5(/2@<  &(@   8              "
M@>\F  !X;"]W;W)K<VAE971S+W-H965T-BYX;6Q02P$"% ,4    " "4BQ57
MJ&P!?R$'  "\$   &               @(%O+@  >&PO=V]R:W-H965T<R]S
M:&5E=#<N>&UL4$L! A0#%     @ E(L55R""L(&X$   ]R\  !@
M     ("!QC4  'AL+W=O<FMS:&5E=',O<VAE970X+GAM;%!+ 0(4 Q0    (
M )2+%5?/ XD'000  -@)   8              " @;1&  !X;"]W;W)K<VAE
M971S+W-H965T.2YX;6Q02P$"% ,4    " "4BQ57+U?-;\D"  #;!0  &0
M            @($K2P  >&PO=V]R:W-H965T<R]S:&5E=#$P+GAM;%!+ 0(4
M Q0    ( )2+%5=+0=SK!04  !0+   9              " @2M.  !X;"]W
M;W)K<VAE971S+W-H965T,3$N>&UL4$L! A0#%     @ E(L55\Z'ZZ/F @
MI08  !D              ("!9U,  'AL+W=O<FMS:&5E=',O<VAE970Q,BYX
M;6Q02P$"% ,4    " "4BQ57*M.?GY0$  "*"P  &0              @(&$
M5@  >&PO=V]R:W-H965T<R]S:&5E=#$S+GAM;%!+ 0(4 Q0    ( )2+%5?
M%^WJ$P4  . *   9              " @4];  !X;"]W;W)K<VAE971S+W-H
M965T,30N>&UL4$L! A0#%     @ E(L55^&[*L]I @  604  !D
M     ("!F6   'AL+W=O<FMS:&5E=',O<VAE970Q-2YX;6Q02P$"% ,4
M" "4BQ57'W3+GU,$  "M"0  &0              @($Y8P  >&PO=V]R:W-H
M965T<R]S:&5E=#$V+GAM;%!+ 0(4 Q0    ( )2+%5=*RGX&*@0  $X)   9
M              " @<-G  !X;"]W;W)K<VAE971S+W-H965T,3<N>&UL4$L!
M A0#%     @ E(L55T:1F=8S!@  7@\  !D              ("!)&P  'AL
M+W=O<FMS:&5E=',O<VAE970Q."YX;6Q02P$"% ,4    " "4BQ573(IFB#4'
M   L$0  &0              @(&.<@  >&PO=V]R:W-H965T<R]S:&5E=#$Y
M+GAM;%!+ 0(4 Q0    ( )2+%5>]2+W=B ,  !$(   9              "
M@?IY  !X;"]W;W)K<VAE971S+W-H965T,C N>&UL4$L! A0#%     @ E(L5
M5]H752F# @  H@4  !D              ("!N7T  'AL+W=O<FMS:&5E=',O
M<VAE970R,2YX;6Q02P$"% ,4    " "4BQ57MA9^3-("   %!@  &0
M        @(%S@   >&PO=V]R:W-H965T<R]S:&5E=#(R+GAM;%!+ 0(4 Q0
M   ( )2+%5<OG'*[]P,  -D)   9              " @7R#  !X;"]W;W)K
M<VAE971S+W-H965T,C,N>&UL4$L! A0#%     @ E(L55VN$[;"] @  [@8
M !D              ("!JH<  'AL+W=O<FMS:&5E=',O<VAE970R-"YX;6Q0
M2P$"% ,4    " "4BQ579JJ)WTP#  !5"   &0              @(&>B@
M>&PO=V]R:W-H965T<R]S:&5E=#(U+GAM;%!+ 0(4 Q0    ( )2+%5?7IH(T
MA@(  *@%   9              " @2&.  !X;"]W;W)K<VAE971S+W-H965T
M,C8N>&UL4$L! A0#%     @ E(L55]3_Q'1N P  E @  !D
M ("!WI   'AL+W=O<FMS:&5E=',O<VAE970R-RYX;6Q02P$"% ,4    " "4
MBQ57T;/-@A4"   ?!   &0              @(&#E   >&PO=V]R:W-H965T
M<R]S:&5E=#(X+GAM;%!+ 0(4 Q0    ( )2+%5>MPN.$]P0  /,<   9
M          " @<^6  !X;"]W;W)K<VAE971S+W-H965T,CDN>&UL4$L! A0#
M%     @ E(L55UD#Q+)K @  <P4  !D              ("!_9L  'AL+W=O
M<FMS:&5E=',O<VAE970S,"YX;6Q02P$"% ,4    " "4BQ57#5$W#F@"  !;
M!@  &0              @(&?G@  >&PO=V]R:W-H965T<R]S:&5E=#,Q+GAM
M;%!+ 0(4 Q0    ( )2+%5>*VFV@@@(  -\%   9              " @3ZA
M  !X;"]W;W)K<VAE971S+W-H965T,S(N>&UL4$L! A0#%     @ E(L55W-8
M_T'M @  0 @  !D              ("!]Z,  'AL+W=O<FMS:&5E=',O<VAE
M970S,RYX;6Q02P$"% ,4    " "4BQ57 L6*!M(#   R$0  &0
M    @($;IP  >&PO=V]R:W-H965T<R]S:&5E=#,T+GAM;%!+ 0(4 Q0    (
M )2+%5?];4@8-00   (2   9              " @22K  !X;"]W;W)K<VAE
M971S+W-H965T,S4N>&UL4$L! A0#%     @ E(L55]N^+X<!!   ,Q0  !D
M             ("!D*\  'AL+W=O<FMS:&5E=',O<VAE970S-BYX;6Q02P$"
M% ,4    " "4BQ57S*<!0A$#  #:"0  &0              @('(LP  >&PO
M=V]R:W-H965T<R]S:&5E=#,W+GAM;%!+ 0(4 Q0    ( )2+%5<ZC(ZZKP4
M $LG   9              " @1"W  !X;"]W;W)K<VAE971S+W-H965T,S@N
M>&UL4$L! A0#%     @ E(L55V/H^O%O @  _P4  !D              ("!
M]KP  'AL+W=O<FMS:&5E=',O<VAE970S.2YX;6Q02P$"% ,4    " "4BQ57
MGM)<B' "   @!@  &0              @(&<OP  >&PO=V]R:W-H965T<R]S
M:&5E=#0P+GAM;%!+ 0(4 Q0    ( )2+%5=DW-F1@0H  &%X   9
M      " @4/"  !X;"]W;W)K<VAE971S+W-H965T-#$N>&UL4$L! A0#%
M  @ E(L55^Y[ R^'!0  *3$  !D              ("!^\P  'AL+W=O<FMS
M:&5E=',O<VAE970T,BYX;6Q02P$"% ,4    " "4BQ575PE\$34#  !X"P
M&0              @(&YT@  >&PO=V]R:W-H965T<R]S:&5E=#0S+GAM;%!+
M 0(4 Q0    ( )2+%5=_C5Z0M@(  !H(   9              " @276  !X
M;"]W;W)K<VAE971S+W-H965T-#0N>&UL4$L! A0#%     @ E(L55ZAK1$HB
M P  )@P  !D              ("!$MD  'AL+W=O<FMS:&5E=',O<VAE970T
M-2YX;6Q02P$"% ,4    " "4BQ57PT*X7B,#  #^"P  &0
M@(%KW   >&PO=V]R:W-H965T<R]S:&5E=#0V+GAM;%!+ 0(4 Q0    ( )2+
M%5>UA)$% P,  #H*   9              " @<7?  !X;"]W;W)K<VAE971S
M+W-H965T-#<N>&UL4$L! A0#%     @ E(L55Y*VE.T_ P  )A0   T
M         ( !_^(  'AL+W-T>6QE<RYX;6Q02P$"% ,4    " "4BQ57EXJ[
M',     3 @  "P              @ %IY@  7W)E;',O+G)E;'-02P$"% ,4
M    " "4BQ57GQ^?VG<$   H'P  #P              @ %2YP  >&PO=V]R
M:V)O;VLN>&UL4$L! A0#%     @ E(L55[DCVC>R 0  5!P  !H
M     ( !]NL  'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QS4$L! A0#%
M  @ E(L55V7AF;6W 0  91P  !,              ( !X.T  %M#;VYT96YT
A7U1Y<&5S72YX;6Q02P4&     #< -P#X#@  R.\

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<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>61
<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>62
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.23.2</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>135</ContextCount>
  <ElementCount>201</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>38</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>4</UnitCount>
  <MyReports>
    <Report instance="cpi-10q_063023.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_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>00000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/CondensedConsolidatedBalanceSheets</Role>
      <ShortName>CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>00000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited) (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/CondensedConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited) (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="cpi-10q_063023.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_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>00000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (DEFICIT) (UNAUDITED)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquityDeficit</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (DEFICIT) (UNAUDITED)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="cpi-10q_063023.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_063023.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_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>00000008 - Disclosure - REVENUE RECOGNITION</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/RevenueRecognition</Role>
      <ShortName>REVENUE RECOGNITION</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="cpi-10q_063023.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_063023.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_063023.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_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>00000012 - Disclosure - FAIR VALUE</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/FairValue</Role>
      <ShortName>FAIR VALUE</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>00000013 - Disclosure - INCOME PER COMMON SHARE</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/IncomePerCommonShare</Role>
      <ShortName>INCOME PER COMMON SHARE</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>00000014 - Disclosure - DEBT</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/Debt</Role>
      <ShortName>DEBT</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>00000015 - Disclosure - MAJOR CUSTOMERS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/MajorCustomers</Role>
      <ShortName>MAJOR CUSTOMERS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>00000016 - Disclosure - LEASES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/Leases</Role>
      <ShortName>LEASES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>00000017 - Disclosure - INCOME TAXES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/IncomeTaxes</Role>
      <ShortName>INCOME TAXES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>00000018 - Disclosure - COMMITMENTS AND CONTINGENCIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/CommitmentsAndContingencies</Role>
      <ShortName>COMMITMENTS AND CONTINGENCIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>00000019 - 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>19</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>00000020 - Disclosure - REVENUE RECOGNITION (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/RevenueRecognitionTables</Role>
      <ShortName>REVENUE RECOGNITION (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://cpiaero.com/role/RevenueRecognition</ParentRole>
      <Position>20</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>00000021 - 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>21</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>00000022 - 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>22</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>00000023 - 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>23</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>00000024 - Disclosure - FAIR VALUE (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/FairValueTables</Role>
      <ShortName>FAIR VALUE (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://cpiaero.com/role/FairValue</ParentRole>
      <Position>24</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>00000025 - Disclosure - INCOME PER COMMON SHARE (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/IncomePerCommonShareTables</Role>
      <ShortName>INCOME PER COMMON SHARE (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://cpiaero.com/role/IncomePerCommonShare</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>00000026 - Disclosure - DEBT (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/DebtTables</Role>
      <ShortName>DEBT (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://cpiaero.com/role/Debt</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>00000027 - 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>27</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>00000028 - 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>28</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>00000029 - 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>29</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>00000030 - Disclosure - REVENUE RECOGNITION (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/RevenueRecognitionDetailsNarrative</Role>
      <ShortName>REVENUE RECOGNITION (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://cpiaero.com/role/RevenueRecognitionTables</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>00000031 - Disclosure - Schedule of contract assets and liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails</Role>
      <ShortName>Schedule of contract assets and liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>31</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>00000032 - 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>32</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>00000033 - 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>33</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>00000034 - 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>34</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>00000035 - Disclosure - The following table summarizes activity related to outstanding RSUs and Restricted Stock Awards for the six months ended June 30, 2023: (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusAndRestrictedStockAwardsForSixMonthsEndedJune302023Details</Role>
      <ShortName>The following table summarizes activity related to outstanding RSUs and Restricted Stock Awards for the six months ended June 30, 2023: (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>35</Position>
    </Report>
    <Report instance="cpi-10q_063023.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_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>00000037 - Disclosure - At June 30, 2023 and December 31, 2022, the fair values of cash, accounts receivable and accounts payable approximated their carrying values because of the short-term nature of these instruments. (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/AtJune302023AndDecember312022FairValuesOfCashAccountsReceivableAndAccountsPayableApproximatedTheirCarryingValuesBecauseOfShort-termNatureOfTheseInstruments.Details</Role>
      <ShortName>At June 30, 2023 and December 31, 2022, the fair values of cash, accounts receivable and accounts payable approximated their carrying values because of the short-term nature of these instruments. (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>37</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>00000038 - Disclosure - For the three and six months ended June 30, 2023 and 2022, respectively, our income per common share was calculated as follows: (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/ForThreeAndSixMonthsEndedJune302023And2022RespectivelyOurIncomePerCommonShareWasCalculatedAsFollowsDetails</Role>
      <ShortName>For the three and six months ended June 30, 2023 and 2022, respectively, our income per common share was calculated as follows: (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>00000039 - Disclosure - INCOME PER COMMON SHARE (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/IncomePerCommonShareDetailsNarrative</Role>
      <ShortName>INCOME PER COMMON SHARE (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://cpiaero.com/role/IncomePerCommonShareTables</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>00000040 - Disclosure - The maturities of long-term debt (excluding unamortized debt issuance costs) are as follows: (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/MaturitiesOfLong-termDebtExcludingUnamortizedDebtIssuanceCostsAreAsFollowsDetails</Role>
      <ShortName>The maturities of long-term debt (excluding unamortized debt issuance costs) are as follows: (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>00000041 - Disclosure - DEBT (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/DebtDetailsNarrative</Role>
      <ShortName>DEBT (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://cpiaero.com/role/DebtTables</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>00000042 - Disclosure - MAJOR CUSTOMERS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/MajorCustomersDetailsNarrative</Role>
      <ShortName>MAJOR CUSTOMERS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://cpiaero.com/role/MajorCustomers</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>00000043 - Disclosure - Future minimum lease payments under non-cancellable operating leases as of June 30, 2023 were as follows: (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails</Role>
      <ShortName>Future minimum lease payments under non-cancellable operating leases as of June 30, 2023 were as follows: (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>00000044 - Disclosure - The following table sets forth the ROU assets and operating lease liabilities as of: (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cpiaero.com/role/FollowingTableSetsForthRouAssetsAndOperatingLeaseLiabilitiesAsOfDetails</Role>
      <ShortName>The following table sets forth the ROU assets and operating lease liabilities as of: (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>00000045 - 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>45</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>00000046 - 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>46</Position>
    </Report>
    <Report instance="cpi-10q_063023.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>00000047 - 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>47</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-Q" original="cpi-10q_063023.htm">cpi-10q_063023.htm</File>
    <File>cvu-20230630.xsd</File>
    <File>cvu-20230630_cal.xml</File>
    <File>cvu-20230630_def.xml</File>
    <File>cvu-20230630_lab.xml</File>
    <File>cvu-20230630_pre.xml</File>
    <File>ex31-1.htm</File>
    <File>ex31-2.htm</File>
    <File>ex32-1.htm</File>
  </InputFiles>
  <SupplementalFiles>
    <File>cpiaerologo.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="491">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="29">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>64
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "cpi-10q_063023.htm": {
   "axisCustom": 0,
   "axisStandard": 16,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2023": 491,
    "http://xbrl.sec.gov/dei/2023": 29
   },
   "contextCount": 135,
   "dts": {
    "calculationLink": {
     "local": [
      "cvu-20230630_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "cvu-20230630_def.xml"
     ]
    },
    "inline": {
     "local": [
      "cpi-10q_063023.htm"
     ]
    },
    "labelLink": {
     "local": [
      "cvu-20230630_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "cvu-20230630_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "cvu-20230630.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/2023/elts/srt-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd",
      "https://xbrl.sec.gov/country/2023/country-2023.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd"
     ]
    }
   },
   "elementCount": 349,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2023": 24,
    "http://xbrl.sec.gov/dei/2023": 5,
    "total": 29
   },
   "keyCustom": 11,
   "keyStandard": 190,
   "memberCustom": 20,
   "memberStandard": 18,
   "nsprefix": "cvu",
   "nsuri": "http://cpiaero.com/20230630",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "b",
       "p",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "00000001 - Document - Cover",
     "menuCat": "Cover",
     "order": "1",
     "role": "http://cpiaero.com/role/Cover",
     "shortName": "Cover",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "b",
       "p",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000010 - Disclosure - INVENTORY",
     "menuCat": "Notes",
     "order": "10",
     "role": "http://cpiaero.com/role/Inventory",
     "shortName": "INVENTORY",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000011 - Disclosure - STOCK-BASED COMPENSATION",
     "menuCat": "Notes",
     "order": "11",
     "role": "http://cpiaero.com/role/Stock-basedCompensation",
     "shortName": "STOCK-BASED COMPENSATION",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000012 - Disclosure - FAIR VALUE",
     "menuCat": "Notes",
     "order": "12",
     "role": "http://cpiaero.com/role/FairValue",
     "shortName": "FAIR VALUE",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000013 - Disclosure - INCOME PER COMMON SHARE",
     "menuCat": "Notes",
     "order": "13",
     "role": "http://cpiaero.com/role/IncomePerCommonShare",
     "shortName": "INCOME PER COMMON SHARE",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LongTermDebtTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000014 - Disclosure - DEBT",
     "menuCat": "Notes",
     "order": "14",
     "role": "http://cpiaero.com/role/Debt",
     "shortName": "DEBT",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LongTermDebtTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000015 - Disclosure - MAJOR CUSTOMERS",
     "menuCat": "Notes",
     "order": "15",
     "role": "http://cpiaero.com/role/MajorCustomers",
     "shortName": "MAJOR CUSTOMERS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000016 - Disclosure - LEASES",
     "menuCat": "Notes",
     "order": "16",
     "role": "http://cpiaero.com/role/Leases",
     "shortName": "LEASES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000017 - Disclosure - INCOME TAXES",
     "menuCat": "Notes",
     "order": "17",
     "role": "http://cpiaero.com/role/IncomeTaxes",
     "shortName": "INCOME TAXES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000018 - Disclosure - COMMITMENTS AND CONTINGENCIES",
     "menuCat": "Notes",
     "order": "18",
     "role": "http://cpiaero.com/role/CommitmentsAndContingencies",
     "shortName": "COMMITMENTS AND CONTINGENCIES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000019 - Disclosure - INTERIM FINANCIAL STATEMENTS (Policies)",
     "menuCat": "Policies",
     "order": "19",
     "role": "http://cpiaero.com/role/InterimFinancialStatementsPolicies",
     "shortName": "INTERIM FINANCIAL STATEMENTS (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:Cash",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited)",
     "menuCat": "Statements",
     "order": "2",
     "role": "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets",
     "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:Cash",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000020 - Disclosure - REVENUE RECOGNITION (Tables)",
     "menuCat": "Tables",
     "order": "20",
     "role": "http://cpiaero.com/role/RevenueRecognitionTables",
     "shortName": "REVENUE RECOGNITION (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "cvu:ContractWithCustomerAssetAndLiabilityTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000021 - Disclosure - CONTRACT ASSETS AND LIABILITIES (Tables)",
     "menuCat": "Tables",
     "order": "21",
     "role": "http://cpiaero.com/role/ContractAssetsAndLiabilitiesTables",
     "shortName": "CONTRACT ASSETS AND LIABILITIES (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "cvu:ContractWithCustomerAssetAndLiabilityTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000022 - Disclosure - INVENTORY (Tables)",
     "menuCat": "Tables",
     "order": "22",
     "role": "http://cpiaero.com/role/InventoryTables",
     "shortName": "INVENTORY (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000023 - Disclosure - STOCK-BASED COMPENSATION (Tables)",
     "menuCat": "Tables",
     "order": "23",
     "role": "http://cpiaero.com/role/Stock-basedCompensationTables",
     "shortName": "STOCK-BASED COMPENSATION (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueByBalanceSheetGroupingTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000024 - Disclosure - FAIR VALUE (Tables)",
     "menuCat": "Tables",
     "order": "24",
     "role": "http://cpiaero.com/role/FairValueTables",
     "shortName": "FAIR VALUE (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueByBalanceSheetGroupingTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicByCommonClassTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000025 - Disclosure - INCOME PER COMMON SHARE (Tables)",
     "menuCat": "Tables",
     "order": "25",
     "role": "http://cpiaero.com/role/IncomePerCommonShareTables",
     "shortName": "INCOME PER COMMON SHARE (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicByCommonClassTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000026 - Disclosure - DEBT (Tables)",
     "menuCat": "Tables",
     "order": "26",
     "role": "http://cpiaero.com/role/DebtTables",
     "shortName": "DEBT (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000027 - Disclosure - LEASES (Tables)",
     "menuCat": "Tables",
     "order": "27",
     "role": "http://cpiaero.com/role/LeasesTables",
     "shortName": "LEASES (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashUninsuredAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000028 - Disclosure - INTERIM FINANCIAL STATEMENTS (Details Narrative)",
     "menuCat": "Details",
     "order": "28",
     "role": "http://cpiaero.com/role/InterimFinancialStatementsDetailsNarrative",
     "shortName": "INTERIM FINANCIAL STATEMENTS (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashUninsuredAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-04-012023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000029 - Disclosure - The following tables present the Company\u2019s revenue disaggregated by contract type and revenue recognition method: (Details)",
     "menuCat": "Details",
     "order": "29",
     "role": "http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails",
     "shortName": "The following tables present the Company\u2019s revenue disaggregated by contract type and revenue recognition method: (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-04-012023-06-30_us-gaap_TransferredOverTimeMember",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USDPShares",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited) (Parenthetical)",
     "menuCat": "Statements",
     "order": "3",
     "role": "http://cpiaero.com/role/CondensedConsolidatedBalanceSheetsParenthetical",
     "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited) (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USDPShares",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "AsOf2023-06-30_2023-07-01",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000030 - Disclosure - REVENUE RECOGNITION (Details Narrative)",
     "menuCat": "Details",
     "order": "30",
     "role": "http://cpiaero.com/role/RevenueRecognitionDetailsNarrative",
     "shortName": "REVENUE RECOGNITION (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "AsOf2023-06-30_2023-07-01",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "cvu:ContractWithCustomerAssetAndLiabilityTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:ContractWithCustomerAssetNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000031 - Disclosure - Schedule of contract assets and liabilities (Details)",
     "menuCat": "Details",
     "order": "31",
     "role": "http://cpiaero.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails",
     "shortName": "Schedule of contract assets and liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "cvu:ContractWithCustomerAssetAndLiabilityTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:ContractWithCustomerAssetNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "cvu:ContractWithCustomerAssetAndLiabilityTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000032 - Disclosure - CONTRACT ASSETS AND LIABILITIES (Details Narrative)",
     "menuCat": "Details",
     "order": "32",
     "role": "http://cpiaero.com/role/ContractAssetsAndLiabilitiesDetailsNarrative",
     "shortName": "CONTRACT ASSETS AND LIABILITIES (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "cvu:ContractWithCustomerAssetAndLiabilityTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterials",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000033 - Disclosure - The components of inventory consisted of the following: (Details)",
     "menuCat": "Details",
     "order": "33",
     "role": "http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails",
     "shortName": "The components of inventory consisted of the following: (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterials",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-04-012023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000034 - Disclosure - Stock-based compensation expense for restricted stock in the consolidated statements of operations is summarized as follows: (Details)",
     "menuCat": "Details",
     "order": "34",
     "role": "http://cpiaero.com/role/Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails",
     "shortName": "Stock-based compensation expense for restricted stock in the consolidated statements of operations is summarized as follows: (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-04-012023-06-30_us-gaap_CostOfSalesMember",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "AsOf2022-12-31_us-gaap_RestrictedStockMember",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000035 - Disclosure - The following table summarizes activity related to outstanding RSUs and Restricted Stock Awards for the six months ended June 30, 2023: (Details)",
     "menuCat": "Details",
     "order": "35",
     "role": "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusAndRestrictedStockAwardsForSixMonthsEndedJune302023Details",
     "shortName": "The following table summarizes activity related to outstanding RSUs and Restricted Stock Awards for the six months ended June 30, 2023: (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "AsOf2022-12-31_us-gaap_RestrictedStockMember",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000036 - Disclosure - STOCK-BASED COMPENSATION (Details Narrative)",
     "menuCat": "Details",
     "order": "36",
     "role": "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative",
     "shortName": "STOCK-BASED COMPENSATION (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:FairValueByBalanceSheetGroupingTextBlock",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "AsOf2023-06-30_us-gaap_CarryingReportedAmountFairValueDisclosureMember",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtInstrumentFairValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000037 - Disclosure - At June 30, 2023 and December 31, 2022, the fair values of cash, accounts receivable and accounts payable approximated their carrying values because of the short-term nature of these instruments. (Details)",
     "menuCat": "Details",
     "order": "37",
     "role": "http://cpiaero.com/role/AtJune302023AndDecember312022FairValuesOfCashAccountsReceivableAndAccountsPayableApproximatedTheirCarryingValuesBecauseOfShort-termNatureOfTheseInstruments.Details",
     "shortName": "At June 30, 2023 and December 31, 2022, the fair values of cash, accounts receivable and accounts payable approximated their carrying values because of the short-term nature of these instruments. (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:FairValueByBalanceSheetGroupingTextBlock",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "AsOf2023-06-30_us-gaap_CarryingReportedAmountFairValueDisclosureMember",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtInstrumentFairValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-04-012023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000038 - Disclosure - For the three and six months ended June 30, 2023 and 2022, respectively, our income per common share was calculated as follows: (Details)",
     "menuCat": "Details",
     "order": "38",
     "role": "http://cpiaero.com/role/ForThreeAndSixMonthsEndedJune302023And2022RespectivelyOurIncomePerCommonShareWasCalculatedAsFollowsDetails",
     "shortName": "For the three and six months ended June 30, 2023 and 2022, respectively, our income per common share was calculated as follows: (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-04-012023-06-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000039 - Disclosure - INCOME PER COMMON SHARE (Details Narrative)",
     "menuCat": "Details",
     "order": "39",
     "role": "http://cpiaero.com/role/IncomePerCommonShareDetailsNarrative",
     "shortName": "INCOME PER COMMON SHARE (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-04-012023-06-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-04-012023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (UNAUDITED)",
     "menuCat": "Statements",
     "order": "4",
     "role": "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (UNAUDITED)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-04-012023-06-30",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:CostOfRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000040 - Disclosure - The maturities of long-term debt (excluding unamortized debt issuance costs) are as follows: (Details)",
     "menuCat": "Details",
     "order": "40",
     "role": "http://cpiaero.com/role/MaturitiesOfLong-termDebtExcludingUnamortizedDebtIssuanceCostsAreAsFollowsDetails",
     "shortName": "The maturities of long-term debt (excluding unamortized debt issuance costs) are as follows: (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:LinesOfCreditCurrent",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000041 - Disclosure - DEBT (Details Narrative)",
     "menuCat": "Details",
     "order": "41",
     "role": "http://cpiaero.com/role/DebtDetailsNarrative",
     "shortName": "DEBT (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "AsOf2022-12-31",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:LongTermDebtAndCapitalLeaseObligations",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-012023-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000042 - Disclosure - MAJOR CUSTOMERS (Details Narrative)",
     "menuCat": "Details",
     "order": "42",
     "role": "http://cpiaero.com/role/MajorCustomersDetailsNarrative",
     "shortName": "MAJOR CUSTOMERS (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-012023-06-30_us-gaap_SalesRevenueNetMember_us-gaap_CustomerConcentrationRiskMember_custom_CustomerOneMember",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000043 - Disclosure - Future minimum lease payments under non-cancellable operating leases as of June 30, 2023 were as follows: (Details)",
     "menuCat": "Details",
     "order": "43",
     "role": "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails",
     "shortName": "Future minimum lease payments under non-cancellable operating leases as of June 30, 2023 were as follows: (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "AsOf2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000044 - Disclosure - The following table sets forth the ROU assets and operating lease liabilities as of: (Details)",
     "menuCat": "Details",
     "order": "44",
     "role": "http://cpiaero.com/role/FollowingTableSetsForthRouAssetsAndOperatingLeaseLiabilitiesAsOfDetails",
     "shortName": "The following table sets forth the ROU assets and operating lease liabilities as of: (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseExpirationDate1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000045 - Disclosure - LEASES (Details Narrative)",
     "menuCat": "Details",
     "order": "45",
     "role": "http://cpiaero.com/role/LeasesDetailsNarrative",
     "shortName": "LEASES (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseExpirationDate1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-04-012023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncomeTaxExpenseBenefit",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000046 - Disclosure - INCOME TAXES (Details Narrative)",
     "menuCat": "Details",
     "order": "46",
     "role": "http://cpiaero.com/role/IncomeTaxesDetailsNarrative",
     "shortName": "INCOME TAXES (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2021-05-192021-05-20",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:LitigationSettlementAmountAwardedToOtherParty",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000047 - Disclosure - COMMITMENTS AND CONTINGENCIES (Details Narrative)",
     "menuCat": "Details",
     "order": "47",
     "role": "http://cpiaero.com/role/CommitmentsAndContingenciesDetailsNarrative",
     "shortName": "COMMITMENTS AND CONTINGENCIES (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2021-05-192021-05-20",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:LitigationSettlementAmountAwardedToOtherParty",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "AsOf2021-12-31_us-gaap_CommonStockMember",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (DEFICIT) (UNAUDITED)",
     "menuCat": "Statements",
     "order": "5",
     "role": "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquityDeficit",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (DEFICIT) (UNAUDITED)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2022-01-012022-03-31_us-gaap_RetainedEarningsMember",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED)",
     "menuCat": "Statements",
     "order": "6",
     "role": "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (UNAUDITED)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000007 - Disclosure - INTERIM FINANCIAL STATEMENTS",
     "menuCat": "Notes",
     "order": "7",
     "role": "http://cpiaero.com/role/InterimFinancialStatements",
     "shortName": "INTERIM FINANCIAL STATEMENTS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000008 - Disclosure - REVENUE RECOGNITION",
     "menuCat": "Notes",
     "order": "8",
     "role": "http://cpiaero.com/role/RevenueRecognition",
     "shortName": "REVENUE RECOGNITION",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cvu:ContractWithCustomerAssetAndLiabilityTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000009 - Disclosure - CONTRACT ASSETS AND LIABILITIES",
     "menuCat": "Notes",
     "order": "9",
     "role": "http://cpiaero.com/role/ContractAssetsAndLiabilities",
     "shortName": "CONTRACT ASSETS AND LIABILITIES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "cpi-10q_063023.htm",
      "contextRef": "From2023-01-01to2023-06-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cvu:ContractWithCustomerAssetAndLiabilityTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 38,
   "tag": {
    "cvu_AerostructureMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aerostructure [Member]",
        "label": "Aerostructure [Member]"
       }
      }
     },
     "localname": "AerostructureMember",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cvu_AerosystemsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aerosystems [Member]",
        "label": "Aerosystems [Member]"
       }
      }
     },
     "localname": "AerosystemsMember",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cvu_AmendmentFee": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The element represents amendment fee.",
        "label": "Amendment fee"
       }
      }
     },
     "localname": "AmendmentFee",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cvu_BankUnitedMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Bank United [Member]",
        "label": "Bank United [Member]"
       }
      }
     },
     "localname": "BankUnitedMember",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "cvu_CashPaidDuringPeriodForAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash paid during the period for:"
       }
      }
     },
     "localname": "CashPaidDuringPeriodForAbstract",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "cvu_ContractAssetsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract Assets [Member]",
        "label": "Contract Assets [Member]"
       }
      }
     },
     "localname": "ContractAssetsMember",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "cvu_ContractWithCustomerAssetAndLiabilityTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure of contract assets and contract liabilities from contract with customer.",
        "label": "CONTRACT ASSETS AND LIABILITIES"
       }
      }
     },
     "localname": "ContractWithCustomerAssetAndLiabilityTextBlock",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/ContractAssetsAndLiabilities"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cvu_CustomerFiveMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customer Five.",
        "label": "Customer Five [Member]"
       }
      }
     },
     "localname": "CustomerFiveMember",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "cvu_CustomerFourMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customer Four.",
        "label": "Customer Four [Member]"
       }
      }
     },
     "localname": "CustomerFourMember",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "cvu_CustomerOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customer One.",
        "label": "Customer One [Member]"
       }
      }
     },
     "localname": "CustomerOneMember",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "cvu_CustomerThreeMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customer Three.",
        "label": "Customer Three [Member]"
       }
      }
     },
     "localname": "CustomerThreeMember",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "cvu_CustomerTwoMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customer Two.",
        "label": "Customer Two [Member]"
       }
      }
     },
     "localname": "CustomerTwoMember",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "cvu_DirectorsAndOfficersInsuranceRetentionAmount": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The element represents directors and officers insurance retention amount.",
        "label": "Directors and officers insurance retention amount"
       }
      }
     },
     "localname": "DirectorsAndOfficersInsuranceRetentionAmount",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cvu_DisclosureContractAssetsAndLiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract Assets And Liabilities",
        "verboseLabel": "Schedule Of Contract Assets And Liabilities"
       }
      }
     },
     "localname": "DisclosureContractAssetsAndLiabilitiesAbstract",
     "nsuri": "http://cpiaero.com/20230630",
     "xbrltype": "stringItemType"
    },
    "cvu_DisclosureLeasesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases",
        "terseLabel": "Following Table Sets Forth Rou Assets And Operating Lease Liabilities As Of",
        "verboseLabel": "Future Minimum Lease Payments Under Non-cancellable Operating Leases As Of June 30 2023 Were As Follows"
       }
      }
     },
     "localname": "DisclosureLeasesAbstract",
     "nsuri": "http://cpiaero.com/20230630",
     "xbrltype": "stringItemType"
    },
    "cvu_FirstInstallmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "First Installment [Member]",
        "label": "First Installment [Member]"
       }
      }
     },
     "localname": "FirstInstallmentMember",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "cvu_ForfeitedRestrictedStockMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Forfeited Restricted Stock.",
        "label": "Forfeited Restricted Stock [Member]"
       }
      }
     },
     "localname": "ForfeitedRestrictedStockMember",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "cvu_IncreaseDecreaseInLitigationSettlementObligation": {
     "auth_ref": [],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "order": 16.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in litigation settlement obligation.",
        "label": "(Decrease) increase in settlement of litigation obligation"
       }
      }
     },
     "localname": "IncreaseDecreaseInLitigationSettlementObligation",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cvu_IncreaseDecreaseInLossReserve": {
     "auth_ref": [],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "order": 19.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of increase (decrease) in loss reserve.",
        "label": "Decrease in loss reserve"
       }
      }
     },
     "localname": "IncreaseDecreaseInLossReserve",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cvu_KittingAndSupplyChainManagementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Kitting and Supply Chain Management [Member]",
        "label": "Kitting and Supply Chain Management [Member]"
       }
      }
     },
     "localname": "KittingAndSupplyChainManagementMember",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cvu_LesseeOperatingLeasesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of lessee operating leases.",
        "label": "The following table sets forth the ROU assets and operating lease liabilities as of:"
       }
      }
     },
     "localname": "LesseeOperatingLeasesTableTextBlock",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cvu_MaximumLeverageRatio": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum leverage ratio for trailing four fiscal quarter periods.",
        "label": "Maximum leverage ratio"
       }
      }
     },
     "localname": "MaximumLeverageRatio",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "pureItemType"
    },
    "cvu_MinimumAdjustedEbitda": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Minimum adjusted EBITDA at the end of each fiscal quarter.",
        "label": "Minimum adjusted EBITDA"
       }
      }
     },
     "localname": "MinimumAdjustedEbitda",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cvu_MinimumDebtServiceCoverageRatio": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Minimum debt service coverage ratio for trailing four fiscal quarter periods.",
        "label": "Minimum debt service coverage ratio"
       }
      }
     },
     "localname": "MinimumDebtServiceCoverageRatio",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "pureItemType"
    },
    "cvu_NetContractAssets": {
     "auth_ref": [],
     "calculation": {
      "http://cpiaero.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The element represents net contract assets.",
        "label": "Net Contract Assets",
        "totalLabel": "Net Contract assets"
       }
      }
     },
     "localname": "NetContractAssets",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cvu_NetIncomeRequiredUnderAgreement": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The element represents net income required under agreement.",
        "label": "Net income required under agreement"
       }
      }
     },
     "localname": "NetIncomeRequiredUnderAgreement",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cvu_PeriodOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period One [Member]",
        "label": "Period One [Member]"
       }
      }
     },
     "localname": "PeriodOneMember",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "cvu_PeriodThreeMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period Three [Member]",
        "label": "Period Three [Member]"
       }
      }
     },
     "localname": "PeriodThreeMember",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "cvu_PeriodTwoMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period Two [Member]",
        "label": "Period Two [Member]"
       }
      }
     },
     "localname": "PeriodTwoMember",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "cvu_RestrictedSharesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Common shares that are subject to contractual restrictions between the Company and the shareholder,",
        "label": "Restricted Shares [Member]"
       }
      }
     },
     "localname": "RestrictedSharesMember",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations",
      "http://cpiaero.com/role/ForThreeAndSixMonthsEndedJune302023And2022RespectivelyOurIncomePerCommonShareWasCalculatedAsFollowsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cvu_RevolvingLoanAndTermLoanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revolving Loan and Term Loan [Member]",
        "label": "Revolving Loan and Term Loan [Member]"
       }
      }
     },
     "localname": "RevolvingLoanAndTermLoanMember",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "cvu_SecondInstallmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Second Installment [Member]",
        "label": "Second Installment [Member]"
       }
      }
     },
     "localname": "SecondInstallmentMember",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "cvu_TermLoanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Term loan [Member]",
        "label": "Term loan [Member]"
       }
      }
     },
     "localname": "TermLoanMember",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "cvu_UnrestrictedSharesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Common shares not subject to any contractual restrictions between the Company and the shareholder.",
        "label": "Unrestricted Shares [Member]"
       }
      }
     },
     "localname": "UnrestrictedSharesMember",
     "nsuri": "http://cpiaero.com/20230630",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations",
      "http://cpiaero.com/role/ForThreeAndSixMonthsEndedJune302023And2022RespectivelyOurIncomePerCommonShareWasCalculatedAsFollowsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_AmendmentDescription": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of changes contained within amended document.",
        "label": "Amendment Description"
       }
      }
     },
     "localname": "AmendmentDescription",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AnnualInformationForm": {
     "auth_ref": [
      "r499"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag with value true on a form if it is an annual report containing an annual information form.",
        "label": "Annual Information Form"
       }
      }
     },
     "localname": "AnnualInformationForm",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AuditedAnnualFinancialStatements": {
     "auth_ref": [
      "r499"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag with value true on a form if it is an annual report containing audited financial statements.",
        "label": "Audited Annual Financial Statements"
       }
      }
     },
     "localname": "AuditedAnnualFinancialStatements",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CountryRegion": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Region code of country",
        "label": "Country Region"
       }
      }
     },
     "localname": "CountryRegion",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cover page.",
        "label": "Cover [Abstract]"
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "xbrltype": "stringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentAccountingStandard": {
     "auth_ref": [
      "r498"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The basis of accounting the registrant has used to prepare the financial statements included in this filing This can either be 'U.S. GAAP', 'International Financial Reporting Standards', or 'Other'.",
        "label": "Document Accounting Standard"
       }
      }
     },
     "localname": "DocumentAccountingStandard",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "accountingStandardItemType"
    },
    "dei_DocumentAnnualReport": {
     "auth_ref": [
      "r496",
      "r498",
      "r499"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an annual report.",
        "label": "Document Annual Report"
       }
      }
     },
     "localname": "DocumentAnnualReport",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.",
        "label": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.",
        "label": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.",
        "label": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentPeriodStartDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The start date of the period covered in the document, in YYYY-MM-DD format.",
        "label": "Document Period Start Date"
       }
      }
     },
     "localname": "DocumentPeriodStartDate",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentQuarterlyReport": {
     "auth_ref": [
      "r497"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an quarterly report.",
        "label": "Document Quarterly Report"
       }
      }
     },
     "localname": "DocumentQuarterlyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentRegistrationStatement": {
     "auth_ref": [
      "r485"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a registration statement.",
        "label": "Document Registration Statement"
       }
      }
     },
     "localname": "DocumentRegistrationStatement",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentShellCompanyEventDate": {
     "auth_ref": [
      "r498"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date of event requiring a shell company report.",
        "label": "Document Shell Company Event Date"
       }
      }
     },
     "localname": "DocumentShellCompanyEventDate",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentShellCompanyReport": {
     "auth_ref": [
      "r498"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true for a Shell Company Report pursuant to section 13 or 15(d) of the Exchange Act.",
        "label": "Document Shell Company Report"
       }
      }
     },
     "localname": "DocumentShellCompanyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r500"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "auth_ref": [
      "r488"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Documents incorporated by reference.",
        "label": "Documents Incorporated by Reference [Text Block]"
       }
      }
     },
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "textBlockItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressAddressLine2": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 2 such as Street or Suite number",
        "label": "Entity Address, Address Line Two"
       }
      }
     },
     "localname": "EntityAddressAddressLine2",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressAddressLine3": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 3 such as an Office Park",
        "label": "Entity Address, Address Line Three"
       }
      }
     },
     "localname": "EntityAddressAddressLine3",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCountry": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "ISO 3166-1 alpha-2 country code.",
        "label": "Entity Address, Country"
       }
      }
     },
     "localname": "EntityAddressCountry",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "countryCodeItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityBankruptcyProceedingsReportingCurrent": {
     "auth_ref": [
      "r491"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For registrants involved in bankruptcy proceedings during the preceding five years, the value Yes indicates that the registrant has filed all documents and reports required to be filed by Section 12, 13 or 15(d) of the Securities Exchange Act of 1934 subsequent to the distribution of securities under a plan confirmed by a court; the value No indicates the registrant has not.  Registrants not involved in bankruptcy proceedings during the preceding five years should not report this element.",
        "label": "Entity Bankruptcy Proceedings, Reporting Current"
       }
      }
     },
     "localname": "EntityBankruptcyProceedingsReportingCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r487"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.",
        "label": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r487"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityExTransitionPeriod": {
     "auth_ref": [
      "r504"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards.",
        "label": "Elected Not To Use the Extended Transition Period"
       }
      }
     },
     "localname": "EntityExTransitionPeriod",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r487"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r501"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).",
        "label": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityPrimarySicNumber": {
     "auth_ref": [
      "r499"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary Standard Industrial Classification (SIC) Number for the Entity.",
        "label": "Entity Primary SIC Number"
       }
      }
     },
     "localname": "EntityPrimarySicNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "sicNumberItemType"
    },
    "dei_EntityPublicFloat": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.",
        "label": "Entity Public Float"
       }
      }
     },
     "localname": "EntityPublicFloat",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "monetaryItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r487"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r487"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r487"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r487"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_EntityVoluntaryFilers": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.",
        "label": "Entity Voluntary Filers"
       }
      }
     },
     "localname": "EntityVoluntaryFilers",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "auth_ref": [
      "r502"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.",
        "label": "Entity Well-known Seasoned Issuer"
       }
      }
     },
     "localname": "EntityWellKnownSeasonedIssuer",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_Extension": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Extension number for local phone number.",
        "label": "Extension"
       }
      }
     },
     "localname": "Extension",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_NoTradingSymbolFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a security having no trading symbol.",
        "label": "No Trading Symbol Flag"
       }
      }
     },
     "localname": "NoTradingSymbolFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "trueItemType"
    },
    "dei_OtherReportingStandardItemNumber": {
     "auth_ref": [
      "r498"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "\"Item 17\" or \"Item 18\" specified when the basis of accounting is neither US GAAP nor IFRS.",
        "label": "Other Reporting Standard Item Number"
       }
      }
     },
     "localname": "OtherReportingStandardItemNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "otherReportingStandardItemNumberItemType"
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "auth_ref": [
      "r492"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act.",
        "label": "Pre-commencement Issuer Tender Offer"
       }
      }
     },
     "localname": "PreCommencementIssuerTenderOffer",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_PreCommencementTenderOffer": {
     "auth_ref": [
      "r493"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act.",
        "label": "Pre-commencement Tender Offer"
       }
      }
     },
     "localname": "PreCommencementTenderOffer",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r486"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_Security12gTitle": {
     "auth_ref": [
      "r490"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(g) registered security.",
        "label": "Title of 12(g) Security"
       }
      }
     },
     "localname": "Security12gTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r489"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_SecurityReportingObligation": {
     "auth_ref": [
      "r494"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "15(d), indicating whether the security has a reporting obligation under that section of the Exchange Act.",
        "label": "Security Reporting Obligation"
       }
      }
     },
     "localname": "SecurityReportingObligation",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "securityReportingObligationItemType"
    },
    "dei_SolicitingMaterial": {
     "auth_ref": [
      "r495"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act.",
        "label": "Soliciting Material"
       }
      }
     },
     "localname": "SolicitingMaterial",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "dei_WrittenCommunications": {
     "auth_ref": [
      "r503"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act.",
        "label": "Written Communications"
       }
      }
     },
     "localname": "WrittenCommunications",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://cpiaero.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "srt_MajorCustomersAxis": {
     "auth_ref": [
      "r170",
      "r464",
      "r540",
      "r553",
      "r554"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]"
       }
      }
     },
     "localname": "MajorCustomersAxis",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r183",
      "r184",
      "r185",
      "r186",
      "r237",
      "r330",
      "r354",
      "r381",
      "r382",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r447",
      "r448",
      "r454",
      "r461",
      "r469",
      "r474",
      "r538",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_NameOfMajorCustomerDomain": {
     "auth_ref": [
      "r170",
      "r464",
      "r540",
      "r553",
      "r554"
     ],
     "localname": "NameOfMajorCustomerDomain",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r168",
      "r332",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r449",
      "r462",
      "r473",
      "r509",
      "r534",
      "r535",
      "r540",
      "r553"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [
      "r168",
      "r332",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r449",
      "r462",
      "r473",
      "r509",
      "r534",
      "r535",
      "r540",
      "r553"
     ],
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r183",
      "r184",
      "r185",
      "r186",
      "r236",
      "r237",
      "r265",
      "r266",
      "r267",
      "r329",
      "r330",
      "r354",
      "r381",
      "r382",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r447",
      "r448",
      "r454",
      "r461",
      "r469",
      "r474",
      "r477",
      "r531",
      "r538",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r183",
      "r184",
      "r185",
      "r186",
      "r236",
      "r237",
      "r265",
      "r266",
      "r267",
      "r329",
      "r330",
      "r354",
      "r381",
      "r382",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r447",
      "r448",
      "r454",
      "r461",
      "r469",
      "r474",
      "r477",
      "r531",
      "r538",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551"
     ],
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r12",
      "r472"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accounts payable"
       }
      }
     },
     "localname": "AccountsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableMember": {
     "auth_ref": [
      "r445"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold.",
        "label": "Accounts Receivable [Member]"
       }
      }
     },
     "localname": "AccountsReceivableMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r171",
      "r172"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Accounts receivable, net"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r16"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of 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).",
        "label": "Accrued expenses"
       }
      }
     },
     "localname": "AccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "auth_ref": [
      "r52"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.",
        "label": "Additional paid-in capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r274",
      "r275",
      "r276",
      "r368",
      "r523",
      "r524",
      "r525",
      "r541",
      "r557"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.",
        "label": "Additional Paid-in Capital [Member]"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquityDeficit"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net income to net cash provided by (used in) operating activities:"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r269",
      "r277"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.",
        "label": "Total stock-based compensation expense",
        "negatedLabel": "Stock-based compensation"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative",
      "http://cpiaero.com/role/Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfFinancingCosts": {
     "auth_ref": [
      "r62",
      "r211",
      "r319",
      "r518"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense attributable to debt issuance costs.",
        "label": "Amortization of debt issuance cost"
       }
      }
     },
     "localname": "AmortizationOfFinancingCosts",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r80",
      "r101",
      "r119",
      "r154",
      "r162",
      "r166",
      "r173",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r193",
      "r194",
      "r195",
      "r295",
      "r297",
      "r311",
      "r337",
      "r404",
      "r472",
      "r484",
      "r536",
      "r537",
      "r544"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets",
        "totalLabel": "Total Assets"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "ASSETS",
        "verboseLabel": "Assets"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets",
      "http://cpiaero.com/role/FollowingTableSetsForthRouAssetsAndOperatingLeaseLiabilitiesAsOfDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r97",
      "r106",
      "r119",
      "r173",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r193",
      "r194",
      "r195",
      "r295",
      "r297",
      "r311",
      "r472",
      "r536",
      "r537",
      "r544"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets, Current",
        "totalLabel": "Total Current Assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Assets:"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of award under share-based payment arrangement.",
        "label": "Award Type [Axis]"
       }
      }
     },
     "localname": "AwardTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusAndRestrictedStockAwardsForSixMonthsEndedJune302023Details",
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Basis of Presentation"
       }
      }
     },
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/InterimFinancialStatementsPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CarryingReportedAmountFairValueDisclosureMember": {
     "auth_ref": [
      "r40",
      "r41"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measured as reported on the statement of financial position (balance sheet).",
        "label": "Reported Value Measurement [Member]"
       }
      }
     },
     "localname": "CarryingReportedAmountFairValueDisclosureMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/AtJune302023AndDecember312022FairValuesOfCashAccountsReceivableAndAccountsPayableApproximatedTheirCarryingValuesBecauseOfShort-termNatureOfTheseInstruments.Details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Cash": {
     "auth_ref": [
      "r89",
      "r339",
      "r379",
      "r399",
      "r472",
      "r484",
      "r510"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash"
       }
      }
     },
     "localname": "Cash",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "auth_ref": [
      "r24",
      "r68",
      "r118"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations",
        "periodEndLabel": "Cash at end of period",
        "periodStartLabel": "Cash at beginning of period"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect": {
     "auth_ref": [
      "r1",
      "r68"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect",
        "totalLabel": "Net decrease in cash"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashUninsuredAmount": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of cash as of the balance sheet date that is not insured by the Federal Deposit Insurance Corporation.",
        "label": "Uninsured balance"
       }
      }
     },
     "localname": "CashUninsuredAmount",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/InterimFinancialStatementsDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ClassOfStockDomain": {
     "auth_ref": [
      "r94",
      "r102",
      "r103",
      "r104",
      "r119",
      "r138",
      "r142",
      "r144",
      "r146",
      "r152",
      "r153",
      "r173",
      "r187",
      "r189",
      "r190",
      "r191",
      "r194",
      "r195",
      "r214",
      "r215",
      "r216",
      "r217",
      "r218",
      "r311",
      "r362",
      "r363",
      "r364",
      "r365",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r380",
      "r391",
      "r413",
      "r432",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r505",
      "r519",
      "r527"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock."
       }
      }
     },
     "localname": "ClassOfStockDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations",
      "http://cpiaero.com/role/ForThreeAndSixMonthsEndedJune302023And2022RespectivelyOurIncomePerCommonShareWasCalculatedAsFollowsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Abstract]"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r75",
      "r180",
      "r181",
      "r446",
      "r532"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "COMMITMENTS AND CONTINGENCIES"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CommitmentsAndContingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r475",
      "r476",
      "r477",
      "r479",
      "r480",
      "r481",
      "r482",
      "r523",
      "r524",
      "r541",
      "r555",
      "r557"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock [Member]"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquityDeficit"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r51"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common stock, par value (in dollars per share)"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r51",
      "r391"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.",
        "label": "Common stock, authorized"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r51"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Common stock, issued"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r7",
      "r51",
      "r391",
      "r410",
      "r557",
      "r558"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.",
        "label": "Common stock, outstanding",
        "periodEndLabel": "Beginning balance (in shares)",
        "periodStartLabel": "Beginning balance (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheetsParenthetical",
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquityDeficit"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r51",
      "r340",
      "r472"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Common stock - $.001 par value; authorized 50,000,000 shares, 12,727,167 and 12,506,795 shares, respectively, issued and outstanding"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "auth_ref": [
      "r30",
      "r32",
      "r42",
      "r43",
      "r170",
      "r445"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "localname": "ConcentrationRiskBenchmarkDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "auth_ref": [
      "r30",
      "r32",
      "r42",
      "r43",
      "r170",
      "r360",
      "r445"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by benchmark of concentration risk.",
        "label": "Concentration Risk Benchmark [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "auth_ref": [
      "r30",
      "r32",
      "r42",
      "r43",
      "r170",
      "r445",
      "r507"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.",
        "label": "Concentration Risk Type [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskDisclosureTextBlock": {
     "auth_ref": [
      "r73"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "MAJOR CUSTOMERS"
       }
      }
     },
     "localname": "ConcentrationRiskDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomers"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConcentrationRiskLineItems": {
     "auth_ref": [
      "r445"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Concentration Risk [Line Items]"
       }
      }
     },
     "localname": "ConcentrationRiskLineItems",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "auth_ref": [
      "r30",
      "r32",
      "r42",
      "r43",
      "r170"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Concentration Risk, Percentage"
       }
      }
     },
     "localname": "ConcentrationRiskPercentage1",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersDetailsNarrative"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ConcentrationRiskTable": {
     "auth_ref": [
      "r29",
      "r30",
      "r32",
      "r33",
      "r42",
      "r79",
      "r445"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.",
        "label": "Concentration Risk [Table]"
       }
      }
     },
     "localname": "ConcentrationRiskTable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "auth_ref": [
      "r30",
      "r32",
      "r42",
      "r43",
      "r170",
      "r445"
     ],
     "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."
       }
      }
     },
     "localname": "ConcentrationRiskTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "auth_ref": [
      "r539"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Schedule of contract assets and liabilities"
       }
      }
     },
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/ContractAssetsAndLiabilitiesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ContractWithCustomerAssetNet": {
     "auth_ref": [
      "r220",
      "r222",
      "r233"
     ],
     "calculation": {
      "http://cpiaero.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "cvu_NetContractAssets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Contract with Customer, Asset, after Allowance for Credit Loss",
        "verboseLabel": "Contract assets"
       }
      }
     },
     "localname": "ContractWithCustomerAssetNet",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerAssetNetCurrent": {
     "auth_ref": [
      "r220",
      "r222",
      "r233"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Contract assets"
       }
      }
     },
     "localname": "ContractWithCustomerAssetNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiability": {
     "auth_ref": [
      "r220",
      "r221",
      "r233"
     ],
     "calculation": {
      "http://cpiaero.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "cvu_NetContractAssets",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "Contract with Customer, Liability",
        "verboseLabel": "Contract liabilities"
       }
      }
     },
     "localname": "ContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/ScheduleOfContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "auth_ref": [
      "r220",
      "r221",
      "r233"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "Contract liabilities"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "auth_ref": [
      "r234"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Revenue recognized that was included in contract liabilities"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/ContractAssetsAndLiabilitiesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfRevenue": {
     "auth_ref": [
      "r64",
      "r119",
      "r173",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r193",
      "r194",
      "r195",
      "r311",
      "r536"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period.",
        "label": "Cost of sales"
       }
      }
     },
     "localname": "CostOfRevenue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfSalesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing cost of sales.",
        "label": "Cost of Sales [Member]"
       }
      }
     },
     "localname": "CostOfSalesMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CreditFacilityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Axis]"
       }
      }
     },
     "localname": "CreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CreditFacilityDomain": {
     "auth_ref": [],
     "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."
       }
      }
     },
     "localname": "CreditFacilityDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "auth_ref": [
      "r31",
      "r170"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Customer Concentration Risk [Member]"
       }
      }
     },
     "localname": "CustomerConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Abstract]"
       }
      }
     },
     "localname": "DebtDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentAxis": {
     "auth_ref": [
      "r10",
      "r48",
      "r49",
      "r81",
      "r82",
      "r121",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r205",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r211",
      "r320",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r520"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.",
        "label": "Debt Instrument [Axis]"
       }
      }
     },
     "localname": "DebtInstrumentAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument.",
        "label": "Prime rate Plus"
       }
      }
     },
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentCarryingAmount": {
     "auth_ref": [
      "r10",
      "r82",
      "r212"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.",
        "label": "Aggregate principal balance"
       }
      }
     },
     "localname": "DebtInstrumentCarryingAmount",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentFaceAmount": {
     "auth_ref": [
      "r44",
      "r46",
      "r196",
      "r320",
      "r457",
      "r458"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face (par) amount of debt instrument at time of issuance.",
        "label": "Debt instrument, face amount"
       }
      }
     },
     "localname": "DebtInstrumentFaceAmount",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentFairValue": {
     "auth_ref": [
      "r204",
      "r310",
      "r457",
      "r458"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value portion of debt instrument payable, including, but not limited to, notes payable and loans payable.",
        "label": "Short-term borrowings and long-term debt"
       }
      }
     },
     "localname": "DebtInstrumentFairValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/AtJune302023AndDecember312022FairValuesOfCashAccountsReceivableAndAccountsPayableApproximatedTheirCarryingValuesBecauseOfShort-termNatureOfTheseInstruments.Details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "auth_ref": [
      "r18",
      "r197"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement.",
        "label": "Debt Instrument, Interest Rate, Stated Percentage"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "auth_ref": [
      "r19",
      "r121",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r205",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r211",
      "r320",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r520"
     ],
     "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."
       }
      }
     },
     "localname": "DebtInstrumentNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DeferredFinanceCostsNoncurrentNet": {
     "auth_ref": [
      "r45"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Debt issuance costs"
       }
      }
     },
     "localname": "DeferredFinanceCostsNoncurrentNet",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "auth_ref": [
      "r279",
      "r280"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.",
        "label": "Deferred tax asset"
       }
      }
     },
     "localname": "DeferredIncomeTaxAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "auth_ref": [
      "r3",
      "r158"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.",
        "label": "Depreciation and amortization"
       }
      }
     },
     "localname": "DepreciationDepletionAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "auth_ref": [
      "r232",
      "r462",
      "r463",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Disaggregation of Revenue [Line Items]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueLineItems",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "auth_ref": [
      "r232",
      "r462",
      "r463",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Disaggregation of Revenue [Table]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "auth_ref": [
      "r540"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "The following tables present the Company\u2019s revenue disaggregated by contract type and revenue recognition method:"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/RevenueRecognitionTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "auth_ref": [
      "r238",
      "r242",
      "r270",
      "r271",
      "r273",
      "r470"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for share-based payment arrangement.",
        "label": "STOCK-BASED COMPENSATION"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement [Abstract]"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Abstract]"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r113",
      "r127",
      "r128",
      "r129",
      "r130",
      "r131",
      "r136",
      "r138",
      "r144",
      "r145",
      "r146",
      "r150",
      "r306",
      "r307",
      "r334",
      "r346",
      "r451"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.",
        "label": "Income per common share, basic",
        "verboseLabel": "Income (loss) per common share, basic"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations",
      "http://cpiaero.com/role/ForThreeAndSixMonthsEndedJune302023And2022RespectivelyOurIncomePerCommonShareWasCalculatedAsFollowsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareBasicAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income per common share, basic:"
       }
      }
     },
     "localname": "EarningsPerShareBasicAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations",
      "http://cpiaero.com/role/ForThreeAndSixMonthsEndedJune302023And2022RespectivelyOurIncomePerCommonShareWasCalculatedAsFollowsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasicLineItems": {
     "auth_ref": [
      "r138",
      "r142",
      "r144"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Earnings Per Share, Basic, by Common Class, Including Two Class Method [Line Items]"
       }
      }
     },
     "localname": "EarningsPerShareBasicLineItems",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/ForThreeAndSixMonthsEndedJune302023And2022RespectivelyOurIncomePerCommonShareWasCalculatedAsFollowsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r113",
      "r127",
      "r128",
      "r129",
      "r130",
      "r131",
      "r138",
      "r144",
      "r145",
      "r146",
      "r150",
      "r306",
      "r307",
      "r334",
      "r346",
      "r451"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Income (loss) per common share, diluted",
        "verboseLabel": "Income per common share, diluted"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations",
      "http://cpiaero.com/role/ForThreeAndSixMonthsEndedJune302023And2022RespectivelyOurIncomePerCommonShareWasCalculatedAsFollowsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareDilutedAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income per common share, diluted"
       }
      }
     },
     "localname": "EarningsPerShareDilutedAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations",
      "http://cpiaero.com/role/ForThreeAndSixMonthsEndedJune302023And2022RespectivelyOurIncomePerCommonShareWasCalculatedAsFollowsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "auth_ref": [
      "r135",
      "r147",
      "r148",
      "r149"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for earnings per share.",
        "label": "INCOME PER COMMON SHARE"
       }
      }
     },
     "localname": "EarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/IncomePerCommonShare"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "auth_ref": [
      "r282"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Effective income tax rate"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/IncomeTaxesDetailsNarrative"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "auth_ref": [
      "r120",
      "r282",
      "r291"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).",
        "label": "Statutory income tax rate"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/IncomeTaxesDetailsNarrative"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "auth_ref": [
      "r272"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.",
        "label": "Unamortized stock-based compensation costs"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r7",
      "r95",
      "r109",
      "r110",
      "r111",
      "r122",
      "r123",
      "r124",
      "r126",
      "r132",
      "r134",
      "r151",
      "r174",
      "r175",
      "r219",
      "r274",
      "r275",
      "r276",
      "r287",
      "r288",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r328",
      "r355",
      "r356",
      "r357",
      "r368",
      "r432"
     ],
     "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."
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquityDeficit"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EstimateOfFairValueFairValueDisclosureMember": {
     "auth_ref": [
      "r204",
      "r310",
      "r457",
      "r458"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measured as an estimate of fair value.",
        "label": "Estimate of Fair Value Measurement [Member]"
       }
      }
     },
     "localname": "EstimateOfFairValueFairValueDisclosureMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/AtJune302023AndDecember312022FairValuesOfCashAccountsReceivableAndAccountsPayableApproximatedTheirCarryingValuesBecauseOfShort-termNatureOfTheseInstruments.Details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]"
       }
      }
     },
     "localname": "FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/AtJune302023AndDecember312022FairValuesOfCashAccountsReceivableAndAccountsPayableApproximatedTheirCarryingValuesBecauseOfShort-termNatureOfTheseInstruments.Details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByBalanceSheetGroupingTable": {
     "auth_ref": [
      "r39",
      "r40",
      "r41"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about the fair value of financial instruments, including financial assets and financial liabilities, and the measurements of those instruments, assets, and liabilities.",
        "label": "Fair Value, by Balance Sheet Grouping [Table]"
       }
      }
     },
     "localname": "FairValueByBalanceSheetGroupingTable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/AtJune302023AndDecember312022FairValuesOfCashAccountsReceivableAndAccountsPayableApproximatedTheirCarryingValuesBecauseOfShort-termNatureOfTheseInstruments.Details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByBalanceSheetGroupingTextBlock": {
     "auth_ref": [
      "r39",
      "r40"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the fair value of financial instruments, including financial assets and financial liabilities, and the measurements of those instruments, assets, and liabilities.",
        "label": "At June 30, 2023 and December 31, 2022, the fair values of cash, accounts receivable and accounts payable approximated their carrying values because of the short-term nature of these instruments."
       }
      }
     },
     "localname": "FairValueByBalanceSheetGroupingTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FairValueTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueByMeasurementBasisAxis": {
     "auth_ref": [
      "r9",
      "r39",
      "r204",
      "r457",
      "r458"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by measurement basis.",
        "label": "Measurement Basis [Axis]"
       }
      }
     },
     "localname": "FairValueByMeasurementBasisAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/AtJune302023AndDecember312022FairValuesOfCashAccountsReceivableAndAccountsPayableApproximatedTheirCarryingValuesBecauseOfShort-termNatureOfTheseInstruments.Details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Disclosures [Abstract]"
       }
      }
     },
     "localname": "FairValueDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "auth_ref": [
      "r308"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.",
        "label": "FAIR VALUE"
       }
      }
     },
     "localname": "FairValueDisclosuresTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FairValue"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_Goodwill": {
     "auth_ref": [
      "r99",
      "r177",
      "r333",
      "r455",
      "r472",
      "r529",
      "r530"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill"
       }
      }
     },
     "localname": "Goodwill",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r63",
      "r119",
      "r154",
      "r161",
      "r165",
      "r167",
      "r173",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r193",
      "r194",
      "r195",
      "r311",
      "r453",
      "r536"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.",
        "label": "Gross Profit",
        "totalLabel": "Gross profit"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r0",
      "r60",
      "r84",
      "r154",
      "r161",
      "r165",
      "r167",
      "r335",
      "r344",
      "r453"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "totalLabel": "Income before provision for income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "auth_ref": [
      "r178",
      "r179",
      "r416"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location in the income statement.",
        "label": "Income Statement Location [Axis]"
       }
      }
     },
     "localname": "IncomeStatementLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative",
      "http://cpiaero.com/role/Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "auth_ref": [
      "r179",
      "r416"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the income statement."
       }
      }
     },
     "localname": "IncomeStatementLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative",
      "http://cpiaero.com/role/Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "localname": "IncomeTaxDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r120",
      "r278",
      "r283",
      "r284",
      "r286",
      "r289",
      "r292",
      "r293",
      "r294",
      "r367"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.",
        "label": "INCOME TAXES"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/IncomeTaxes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r88",
      "r92",
      "r133",
      "r134",
      "r159",
      "r281",
      "r290",
      "r347"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Provision for income taxes"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations",
      "http://cpiaero.com/role/IncomeTaxesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "auth_ref": [
      "r25"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.",
        "label": "Income taxes"
       }
      }
     },
     "localname": "IncomeTaxesPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxesReceivable": {
     "auth_ref": [
      "r47",
      "r511"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Refundable income taxes"
       }
      }
     },
     "localname": "IncomeTaxesReceivable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": {
     "auth_ref": [
      "r2"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Increase (decrease) in accounts payable and accrued expenses"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r2"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.",
        "label": "Increase (Decrease) in Accounts Receivable",
        "negatedLabel": "(Increase) decrease in accounts receivable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": {
     "auth_ref": [
      "r2"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "order": 18.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Increase (decrease) in income taxes payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": {
     "auth_ref": [
      "r517"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Increase (Decrease) in Contract with Customer, Asset",
        "negatedLabel": "Increase in contract assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerAsset",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "auth_ref": [
      "r331",
      "r517"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "order": 15.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "Increase (decrease) in contract liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInDeferredIncomeTaxes": {
     "auth_ref": [
      "r2"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the 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.",
        "label": "Increase (Decrease) in Deferred Income Taxes",
        "negatedLabel": "Deferred income taxes"
       }
      }
     },
     "localname": "IncreaseDecreaseInDeferredIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInIncomeTaxesReceivable": {
     "auth_ref": [
      "r2"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in income taxes receivable, which represents the amount due from tax authorities for refunds of overpayments or recoveries of income taxes paid.",
        "label": "Increase (Decrease) in Income Taxes Receivable",
        "negatedLabel": "Increase in refundable income taxes"
       }
      }
     },
     "localname": "IncreaseDecreaseInIncomeTaxesReceivable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInsuranceSettlementsReceivable": {
     "auth_ref": [
      "r2"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Increase (Decrease) in Insurance Settlements Receivable",
        "negatedLabel": "Decrease (increase) in insurance receivable"
       }
      }
     },
     "localname": "IncreaseDecreaseInInsuranceSettlementsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r2"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.",
        "label": "Increase (Decrease) in Inventories",
        "negatedLabel": "Decrease in inventory"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInLeasingReceivables": {
     "auth_ref": [
      "r2"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the amount due from lessees arising from lease agreements.",
        "label": "Increase (Decrease) in Leasing Receivables",
        "negatedLabel": "Decrease in operating right-of-use assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInLeasingReceivables",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changes in operating assets and liabilities:"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": {
     "auth_ref": [
      "r508",
      "r517"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "order": 17.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligation for operating lease.",
        "label": "Decrease in lease liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "auth_ref": [
      "r2"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.",
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "negatedLabel": "Decrease in prepaid expenses and other assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "auth_ref": [
      "r139",
      "r140",
      "r141",
      "r146",
      "r241"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Incremental shares used in calculation of diluted income per common share"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/IncomePerCommonShareDetailsNarrative"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_InsuranceSettlementsReceivableCurrent": {
     "auth_ref": [
      "r511"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount due in settlement of a claim for reimbursement from an insurance company when the Company has suffered a loss covered under an insurance policy. For classified balance sheets, represents the current amount receivable, that is amounts expected to be collected within one year or the normal operating cycle, if longer.",
        "label": "Insurance recovery receivable"
       }
      }
     },
     "localname": "InsuranceSettlementsReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestExpense": {
     "auth_ref": [
      "r45",
      "r87",
      "r112",
      "r157",
      "r318",
      "r417",
      "r483",
      "r556"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.",
        "label": "Interest expense"
       }
      }
     },
     "localname": "InterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPaidNet": {
     "auth_ref": [
      "r114",
      "r116",
      "r117"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Interest"
       }
      }
     },
     "localname": "InterestPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Disclosure [Abstract]"
       }
      }
     },
     "localname": "InventoryDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "auth_ref": [
      "r176"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "INVENTORY"
       }
      }
     },
     "localname": "InventoryDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/Inventory"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryFinishedGoods": {
     "auth_ref": [
      "r512"
     ],
     "calculation": {
      "http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_InventoryGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.",
        "label": "Finished goods"
       }
      }
     },
     "localname": "InventoryFinishedGoods",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryGross": {
     "auth_ref": [
      "r515"
     ],
     "calculation": {
      "http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross amount, as of the balance sheet date, of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.",
        "label": "Inventory, Gross",
        "totalLabel": "Gross inventory"
       }
      }
     },
     "localname": "InventoryGross",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r105",
      "r450",
      "r472"
     ],
     "calculation": {
      "http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventory",
        "totalLabel": "Inventory, net"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails",
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryRawMaterials": {
     "auth_ref": [
      "r514"
     ],
     "calculation": {
      "http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_InventoryGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Raw materials"
       }
      }
     },
     "localname": "InventoryRawMaterials",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryValuationReserves": {
     "auth_ref": [
      "r34",
      "r515"
     ],
     "calculation": {
      "http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of valuation reserve for inventory.",
        "label": "Inventory Valuation Reserves",
        "negatedLabel": "Inventory reserves"
       }
      }
     },
     "localname": "InventoryValuationReserves",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWorkInProcess": {
     "auth_ref": [
      "r513"
     ],
     "calculation": {
      "http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_InventoryGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer.",
        "label": "Work in progress"
       }
      }
     },
     "localname": "InventoryWorkInProcess",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/ComponentsOfInventoryConsistedOfFollowingDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseExpirationDate1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date which lease or group of leases is set to expire, in YYYY-MM-DD format.",
        "label": "Lease Expiration Date",
        "verboseLabel": "Expiration date"
       }
      }
     },
     "localname": "LeaseExpirationDate1",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/LeasesDetailsNarrative"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_LegalFees": {
     "auth_ref": [
      "r65"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of expense provided in the period for legal costs incurred on or before the balance sheet date pertaining to resolved, pending or threatened litigation, including arbitration and mediation proceedings.",
        "label": "Attorneys' fees"
       }
      }
     },
     "localname": "LegalFees",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "auth_ref": [
      "r543"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Future minimum lease payments under non-cancellable operating leases as of June 30, 2023 were as follows:"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r327"
     ],
     "calculation": {
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.",
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "totalLabel": "Total undiscounted operating lease payments"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "auth_ref": [
      "r327"
     ],
     "calculation": {
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Thereafter"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r327"
     ],
     "calculation": {
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "verboseLabel": "2024"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r327"
     ],
     "calculation": {
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "2027"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r327"
     ],
     "calculation": {
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "2026"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r327"
     ],
     "calculation": {
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two",
        "verboseLabel": "2025"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": {
     "auth_ref": [
      "r543"
     ],
     "calculation": {
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year",
        "verboseLabel": "Remainder of 2023"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r327"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "negatedLabel": "Less imputed interest"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "auth_ref": [
      "r321"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "LEASES"
       }
      }
     },
     "localname": "LesseeOperatingLeasesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/Leases"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r15",
      "r119",
      "r173",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r193",
      "r194",
      "r195",
      "r296",
      "r297",
      "r298",
      "r311",
      "r390",
      "r452",
      "r484",
      "r536",
      "r544",
      "r545"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.",
        "label": "Liabilities [Default Label]",
        "totalLabel": "Total Liabilities"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities"
       }
      }
     },
     "localname": "LiabilitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSetsForthRouAssetsAndOperatingLeaseLiabilitiesAsOfDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r56",
      "r83",
      "r342",
      "r472",
      "r521",
      "r528",
      "r542"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "Liabilities and Equity",
        "totalLabel": "Total Liabilities and Shareholders\u2019 Equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "LIABILITIES AND SHAREHOLDERS\u2019 EQUITY"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r17",
      "r98",
      "r119",
      "r173",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r193",
      "r194",
      "r195",
      "r296",
      "r297",
      "r298",
      "r311",
      "r472",
      "r536",
      "r544",
      "r545"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.",
        "label": "Liabilities, Current",
        "totalLabel": "Total Current Liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Liabilities:"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCredit": {
     "auth_ref": [
      "r10",
      "r82",
      "r552"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Outstanding loans"
       }
      }
     },
     "localname": "LineOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityAxis": {
     "auth_ref": [
      "r13",
      "r520"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Lender Name [Axis]"
       }
      }
     },
     "localname": "LineOfCreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCreditFacilityExpirationDate1": {
     "auth_ref": [
      "r13"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date the credit facility terminates, in YYYY-MM-DD format.",
        "label": "Expiration date"
       }
      }
     },
     "localname": "LineOfCreditFacilityExpirationDate1",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_LineOfCreditFacilityLenderDomain": {
     "auth_ref": [
      "r13",
      "r520"
     ],
     "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."
       }
      }
     },
     "localname": "LineOfCreditFacilityLenderDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LineOfCreditFacilityLineItems": {
     "auth_ref": [
      "r520"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Line of Credit Facility [Line Items]"
       }
      }
     },
     "localname": "LineOfCreditFacilityLineItems",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "auth_ref": [
      "r13"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Line of credit facility, maximum borrowing capacity"
       }
      }
     },
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityTable": {
     "auth_ref": [
      "r13",
      "r520"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table or schedule providing information pertaining to short-term or long-term contractual arrangements with lenders, including letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to 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.",
        "label": "Line of Credit Facility [Table]"
       }
      }
     },
     "localname": "LineOfCreditFacilityTable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LinesOfCreditCurrent": {
     "auth_ref": [
      "r48",
      "r81"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Current portion of line of credit"
       }
      }
     },
     "localname": "LinesOfCreditCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets",
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LitigationReserveCurrent": {
     "auth_ref": [
      "r20",
      "r533"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount of reserve for known or estimated probable loss from litigation, which may include attorneys' fees and other litigation costs, which is expected to be paid within one year of the date of the statement of financial position.",
        "label": "Litigation settlement obligation"
       }
      }
     },
     "localname": "LitigationReserveCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LitigationSettlementAmountAwardedToOtherParty": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount awarded to other party in judgment or settlement of litigation.",
        "label": "Settlement amount"
       }
      }
     },
     "localname": "LitigationSettlementAmountAwardedToOtherParty",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LitigationSettlementExpense": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of litigation expense, including but not limited to legal, forensic, accounting, and investigative fees.",
        "label": "Covered settlement amount"
       }
      }
     },
     "localname": "LitigationSettlementExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebt": {
     "auth_ref": [
      "r10",
      "r82",
      "r203",
      "r213",
      "r457",
      "r458",
      "r552"
     ],
     "calculation": {
      "http://cpiaero.com/role/MaturitiesOfLong-termDebtExcludingUnamortizedDebtIssuanceCostsAreAsFollowsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.",
        "label": "Long-Term Debt",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "LongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/MaturitiesOfLong-termDebtExcludingUnamortizedDebtIssuanceCostsAreAsFollowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtAndCapitalLeaseObligations": {
     "auth_ref": [
      "r10",
      "r338"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt and lease obligation, classified as noncurrent.",
        "label": "Financing leases and notes payable"
       }
      }
     },
     "localname": "LongTermDebtAndCapitalLeaseObligations",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtAndCapitalLeaseObligationsCurrent": {
     "auth_ref": [
      "r16"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt and lease obligation, classified as current.",
        "label": "Financing leases and notes payable current"
       }
      }
     },
     "localname": "LongTermDebtAndCapitalLeaseObligationsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths": {
     "auth_ref": [
      "r5",
      "r121",
      "r207"
     ],
     "calculation": {
      "http://cpiaero.com/role/MaturitiesOfLong-termDebtExcludingUnamortizedDebtIssuanceCostsAreAsFollowsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "2024"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/MaturitiesOfLong-termDebtExcludingUnamortizedDebtIssuanceCostsAreAsFollowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo": {
     "auth_ref": [
      "r5",
      "r121",
      "r207"
     ],
     "calculation": {
      "http://cpiaero.com/role/MaturitiesOfLong-termDebtExcludingUnamortizedDebtIssuanceCostsAreAsFollowsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing 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).",
        "label": "2025"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/MaturitiesOfLong-termDebtExcludingUnamortizedDebtIssuanceCostsAreAsFollowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear": {
     "auth_ref": [
      "r522"
     ],
     "calculation": {
      "http://cpiaero.com/role/MaturitiesOfLong-termDebtExcludingUnamortizedDebtIssuanceCostsAreAsFollowsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in remainder of current fiscal year.",
        "label": "Remainder of 2023"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/MaturitiesOfLong-termDebtExcludingUnamortizedDebtIssuanceCostsAreAsFollowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtPercentageBearingVariableInterestRate": {
     "auth_ref": [
      "r18"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Interest rate"
       }
      }
     },
     "localname": "LongTermDebtPercentageBearingVariableInterestRate",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_LongTermDebtTextBlock": {
     "auth_ref": [
      "r76"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for long-term debt.",
        "label": "DEBT"
       }
      }
     },
     "localname": "LongTermDebtTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/Debt"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LongTermLineOfCredit": {
     "auth_ref": [
      "r19",
      "r35",
      "r36"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Line of credit, net of current portion",
        "verboseLabel": "Line of credit"
       }
      }
     },
     "localname": "LongTermLineOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets",
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LossContingencyAccrualCarryingValueCurrent": {
     "auth_ref": [
      "r182"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of loss contingency liability expected to be resolved within one year or the normal operating cycle, if longer.",
        "label": "Loss reserve"
       }
      }
     },
     "localname": "LossContingencyAccrualCarryingValueCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r115"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "totalLabel": "Net cash used in financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from financing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r115"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "totalLabel": "Net cash used in investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from investing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r68",
      "r69",
      "r70"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "totalLabel": "Net cash provided by (used in) operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from operating activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r61",
      "r70",
      "r85",
      "r96",
      "r107",
      "r108",
      "r111",
      "r119",
      "r125",
      "r127",
      "r128",
      "r129",
      "r130",
      "r133",
      "r134",
      "r143",
      "r154",
      "r161",
      "r165",
      "r167",
      "r173",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r193",
      "r194",
      "r195",
      "r307",
      "r311",
      "r345",
      "r412",
      "r430",
      "r431",
      "r453",
      "r483",
      "r536"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.",
        "label": "Net Income (Loss)",
        "totalLabel": "Net income",
        "verboseLabel": "Net income"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows",
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations",
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquityDeficit",
      "http://cpiaero.com/role/ForThreeAndSixMonthsEndedJune302023And2022RespectivelyOurIncomePerCommonShareWasCalculatedAsFollowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Recently Issued Accounting Standards - Adopted"
       }
      }
     },
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/InterimFinancialStatementsPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r154",
      "r161",
      "r165",
      "r167",
      "r453"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "Operating Income (Loss)",
        "totalLabel": "Income from operations"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseCost": {
     "auth_ref": [
      "r324",
      "r471"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Operating lease expense"
       }
      }
     },
     "localname": "OperatingLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/LeasesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiability": {
     "auth_ref": [
      "r323"
     ],
     "calculation": {
      "http://cpiaero.com/role/FollowingTableSetsForthRouAssetsAndOperatingLeaseLiabilitiesAsOfDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.",
        "label": "Present value of operating lease payments",
        "totalLabel": "Total lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSetsForthRouAssetsAndOperatingLeaseLiabilitiesAsOfDetails",
      "http://cpiaero.com/role/FutureMinimumLeasePaymentsUnderNon-cancellableOperatingLeasesAsOfJune302023WereAsFollowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r323"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 8.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      },
      "http://cpiaero.com/role/FollowingTableSetsForthRouAssetsAndOperatingLeaseLiabilitiesAsOfDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.",
        "label": "Operating lease liabilities, current",
        "verboseLabel": "Current operating lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets",
      "http://cpiaero.com/role/FollowingTableSetsForthRouAssetsAndOperatingLeaseLiabilitiesAsOfDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r323"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      },
      "http://cpiaero.com/role/FollowingTableSetsForthRouAssetsAndOperatingLeaseLiabilitiesAsOfDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.",
        "label": "Long-term operating lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets",
      "http://cpiaero.com/role/FollowingTableSetsForthRouAssetsAndOperatingLeaseLiabilitiesAsOfDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r322"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "Operating lease right-of-use assets",
        "verboseLabel": "ROU assets, net"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets",
      "http://cpiaero.com/role/FollowingTableSetsForthRouAssetsAndOperatingLeaseLiabilitiesAsOfDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r326",
      "r471"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average discount rate for operating lease calculated at point in time.",
        "label": "Weighted average discount rate for its operating leases"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/LeasesDetailsNarrative"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r325",
      "r471"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Weighted average remaining lease term operating leases"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/LeasesDetailsNarrative"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r71",
      "r72",
      "r73",
      "r78"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "INTERIM FINANCIAL STATEMENTS"
       }
      }
     },
     "localname": "OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/InterimFinancialStatements"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "auth_ref": [
      "r100"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncurrent assets classified as other.",
        "label": "Other assets"
       }
      }
     },
     "localname": "OtherAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLongTermDebtCurrent": {
     "auth_ref": [
      "r48",
      "r49",
      "r389"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt classified as other, payable within one year or the operating cycle, if longer.",
        "label": "Current portion of long-term debt"
       }
      }
     },
     "localname": "OtherLongTermDebtCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLongTermDebtNoncurrent": {
     "auth_ref": [
      "r19",
      "r389"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt classified as other, payable after one year or the operating cycle, if longer.",
        "label": "Long-term debt, net of current portion"
       }
      }
     },
     "localname": "OtherLongTermDebtNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfDebtIssuanceCosts": {
     "auth_ref": [
      "r23"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Payments of debt issuance costs",
        "negatedLabel": "Debt issuance costs paid"
       }
      }
     },
     "localname": "PaymentsOfDebtIssuanceCosts",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows",
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r67"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "negatedLabel": "Purchase of property and equipment"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PortionAtFairValueFairValueDisclosureMember": {
     "auth_ref": [
      "r309"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measured at fair value for financial reporting purposes."
       }
      }
     },
     "localname": "PortionAtFairValueFairValueDisclosureMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/AtJune302023AndDecember312022FairValuesOfCashAccountsReceivableAndAccountsPayableApproximatedTheirCarryingValuesBecauseOfShort-termNatureOfTheseInstruments.Details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "auth_ref": [
      "r516"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrimeRateMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate charged by financial institutions to their most creditworthy borrowers.",
        "label": "Prime Rate [Member]"
       }
      }
     },
     "localname": "PrimeRateMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r4",
      "r336",
      "r343",
      "r472"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProvisionForLoanAndLeaseLosses": {
     "auth_ref": [
      "r2",
      "r6",
      "r86"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense related to estimated loss from loan and lease transactions.",
        "label": "Bad debt expense"
       }
      }
     },
     "localname": "ProvisionForLoanAndLeaseLosses",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "auth_ref": [
      "r22",
      "r365"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.",
        "label": "Repayments of Long-Term Debt",
        "negatedLabel": "Payments on long-term debt"
       }
      }
     },
     "localname": "RepaymentsOfLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedStockMember": {
     "auth_ref": [
      "r27"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Restricted Stock [Member]"
       }
      }
     },
     "localname": "RestrictedStockMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusAndRestrictedStockAwardsForSixMonthsEndedJune302023Details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Restricted Stock Units (RSUs) [Member]"
       }
      }
     },
     "localname": "RestrictedStockUnitsRSUMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusAndRestrictedStockAwardsForSixMonthsEndedJune302023Details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r53",
      "r77",
      "r341",
      "r358",
      "r359",
      "r366",
      "r392",
      "r472"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated undistributed earnings (deficit).",
        "label": "Accumulated deficit"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r95",
      "r122",
      "r123",
      "r124",
      "r126",
      "r132",
      "r134",
      "r174",
      "r175",
      "r274",
      "r275",
      "r276",
      "r287",
      "r288",
      "r299",
      "r301",
      "r302",
      "r304",
      "r305",
      "r355",
      "r357",
      "r368",
      "r557"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated undistributed earnings (deficit).",
        "label": "Retained Earnings [Member]"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquityDeficit"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer [Abstract]"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "auth_ref": [
      "r155",
      "r156",
      "r160",
      "r163",
      "r164",
      "r168",
      "r169",
      "r170",
      "r231",
      "r232",
      "r332"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Revenue"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations",
      "http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "auth_ref": [
      "r93",
      "r223",
      "r224",
      "r225",
      "r226",
      "r227",
      "r228",
      "r229",
      "r230",
      "r235"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "REVENUE RECOGNITION"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/RevenueRecognition"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "auth_ref": [
      "r90"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.",
        "label": "Remaining performance obligations"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligation",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/RevenueRecognitionDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/RevenueRecognitionDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": {
     "auth_ref": [
      "r91"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Performance obligations duration"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/RevenueRecognitionDetailsNarrative"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": {
     "auth_ref": [
      "r91"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/RevenueRecognitionDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/RevenueRecognitionDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.",
        "label": "Revolving Credit Facility [Member]"
       }
      }
     },
     "localname": "RevolvingCreditFacilityMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RisksAndUncertaintiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Risks and Uncertainties [Abstract]"
       }
      }
     },
     "localname": "RisksAndUncertaintiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SalesRevenueNetMember": {
     "auth_ref": [
      "r170",
      "r506"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Revenue Benchmark [Member]"
       }
      }
     },
     "localname": "SalesRevenueNetMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/MajorCustomersDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicByCommonClassTable": {
     "auth_ref": [
      "r26",
      "r28",
      "r138",
      "r142",
      "r144"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The table contains disclosure pertaining to an entity's basic earnings per share.",
        "label": "Schedule of Earnings Per Share, Basic, by Common Class, Including Two Class Method [Table]"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicByCommonClassTable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/ForThreeAndSixMonthsEndedJune302023And2022RespectivelyOurIncomePerCommonShareWasCalculatedAsFollowsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicByCommonClassTextBlock": {
     "auth_ref": [
      "r26",
      "r28",
      "r526"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the effect of income (loss) on basic earnings per share.",
        "label": "For the three and six months ended June 30, 2023 and 2022, respectively, our income per common share was calculated as follows:"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicByCommonClassTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/IncomePerCommonShareTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": {
     "auth_ref": [
      "r38"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]"
       }
      }
     },
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": {
     "auth_ref": [
      "r38"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Stock-based compensation expense for restricted stock in the consolidated statements of operations is summarized as follows:"
       }
      }
     },
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "auth_ref": [
      "r11",
      "r57",
      "r58",
      "r59"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.",
        "label": "The components of inventory consisted of the following:"
       }
      }
     },
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/InventoryTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock": {
     "auth_ref": [
      "r5"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of maturity and sinking fund requirement for long-term debt.",
        "label": "The maturities of long-term debt (excluding unamortized debt issuance costs) are as follows:"
       }
      }
     },
     "localname": "ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/DebtTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "auth_ref": [
      "r239",
      "r240",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about share-based payment arrangement.",
        "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusAndRestrictedStockAwardsForSixMonthsEndedJune302023Details",
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year.",
        "label": "The following table summarizes activity related to outstanding RSUs and Restricted Stock Awards for the six months ended June 30, 2023:"
       }
      }
     },
     "localname": "ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r66"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.",
        "label": "Selling, general and administrative expenses"
       }
      }
     },
     "localname": "SellingGeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpensesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing selling, general and administrative expense.",
        "label": "Selling, General and Administrative Expenses [Member]"
       }
      }
     },
     "localname": "SellingGeneralAndAdministrativeExpensesMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative",
      "http://cpiaero.com/role/Stock-basedCompensationExpenseForRestrictedStockInConsolidatedStatementsOfOperationsIsSummarizedAsFollowsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r2"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense for share-based payment arrangement.",
        "label": "Stock-based compensation"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "auth_ref": [
      "r239",
      "r240",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusAndRestrictedStockAwardsForSixMonthsEndedJune302023Details",
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "auth_ref": [
      "r250"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross number of share options (or share units) granted during the period.",
        "label": "Granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusAndRestrictedStockAwardsForSixMonthsEndedJune302023Details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r260"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "verboseLabel": "Granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusAndRestrictedStockAwardsForSixMonthsEndedJune302023Details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusAndRestrictedStockAwardsForSixMonthsEndedJune302023Details",
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of non-vested options outstanding.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Nonvested, Number of Shares",
        "periodEndLabel": "Non vested December 31, 2022",
        "periodStartLabel": "Non vested January 1, 2022"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusAndRestrictedStockAwardsForSixMonthsEndedJune302023Details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of non-vested options forfeited.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Nonvested Options Forfeited, Number of Shares",
        "negatedLabel": "Forfeited"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusAndRestrictedStockAwardsForSixMonthsEndedJune302023Details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average grant-date fair value of non-vested options forfeited.",
        "label": "Forfeited"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusAndRestrictedStockAwardsForSixMonthsEndedJune302023Details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average grant-date fair value of non-vested options outstanding.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Option, Nonvested, Weighted Average Exercise Price",
        "periodEndLabel": "Non vested December 31, 2022",
        "periodStartLabel": "Non vested January 1, 2022"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusAndRestrictedStockAwardsForSixMonthsEndedJune302023Details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options vested.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested, Number of Shares",
        "negatedLabel": "Vested"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusAndRestrictedStockAwardsForSixMonthsEndedJune302023Details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average grant-date fair value of options vested.",
        "label": "Vested"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FollowingTableSummarizesActivityRelatedToOutstandingRsusAndRestrictedStockAwardsForSixMonthsEndedJune302023Details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_StatementClassOfStockAxis": {
     "auth_ref": [
      "r94",
      "r102",
      "r103",
      "r104",
      "r119",
      "r138",
      "r142",
      "r144",
      "r146",
      "r152",
      "r153",
      "r173",
      "r187",
      "r189",
      "r190",
      "r191",
      "r194",
      "r195",
      "r214",
      "r215",
      "r216",
      "r217",
      "r218",
      "r311",
      "r362",
      "r363",
      "r364",
      "r365",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r380",
      "r391",
      "r413",
      "r432",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r505",
      "r519",
      "r527"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by the different classes of stock of the entity.",
        "label": "Class of Stock [Axis]"
       }
      }
     },
     "localname": "StatementClassOfStockAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations",
      "http://cpiaero.com/role/ForThreeAndSixMonthsEndedJune302023And2022RespectivelyOurIncomePerCommonShareWasCalculatedAsFollowsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r7",
      "r21",
      "r95",
      "r109",
      "r110",
      "r111",
      "r122",
      "r123",
      "r124",
      "r126",
      "r132",
      "r134",
      "r151",
      "r174",
      "r175",
      "r219",
      "r274",
      "r275",
      "r276",
      "r287",
      "r288",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r328",
      "r355",
      "r356",
      "r357",
      "r368",
      "r432"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquityDeficit"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [
      "r122",
      "r123",
      "r124",
      "r151",
      "r332",
      "r361",
      "r380",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r391",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r400",
      "r401",
      "r402",
      "r403",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r411",
      "r414",
      "r415",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r432",
      "r478"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations",
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquityDeficit"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r122",
      "r123",
      "r124",
      "r151",
      "r332",
      "r361",
      "r380",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r391",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r400",
      "r401",
      "r402",
      "r403",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r411",
      "r414",
      "r415",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r432",
      "r478"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.",
        "label": "Statement [Table]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations",
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquityDeficit"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited": {
     "auth_ref": [
      "r7",
      "r50",
      "r51",
      "r77"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares related to Restricted Stock Award forfeited during the period.",
        "label": "Shares forfeited"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": {
     "auth_ref": [
      "r7",
      "r50",
      "r51",
      "r77"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).",
        "label": "Stock-based compensation expense (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquityDeficit"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationForfeited": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares (or other type of equity) forfeited during the period.",
        "label": "Shares Issued, Shares, Share-Based Payment Arrangement, Forfeited",
        "negatedLabel": "Common stock forfeited (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesShareBasedCompensationForfeited",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquityDeficit"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": {
     "auth_ref": [
      "r37",
      "r50",
      "r51",
      "r77"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).",
        "label": "Stock-based compensation expense"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquityDeficit"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationForfeited": {
     "auth_ref": [
      "r8"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of forfeited shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).",
        "label": "Shares Issued, Value, Share-Based Payment Arrangement, Forfeited",
        "negatedLabel": "Common stock forfeited"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueShareBasedCompensationForfeited",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquityDeficit"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r51",
      "r54",
      "r55",
      "r74",
      "r393",
      "r410",
      "r433",
      "r434",
      "r472",
      "r484",
      "r521",
      "r528",
      "r542",
      "r557"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.",
        "label": "Equity, Attributable to Parent",
        "periodEndLabel": "Ending balance, value",
        "periodStartLabel": "Beginning balance, value",
        "totalLabel": "Total Shareholders\u2019 Equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets",
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfShareholdersEquityDeficit"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shareholders\u2019 Equity:"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SupplementalCashFlowElementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental disclosures of cash flow information:"
       }
      }
     },
     "localname": "SupplementalCashFlowElementsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TaxesPayableCurrent": {
     "auth_ref": [
      "r14"
     ],
     "calculation": {
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 9.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred 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).",
        "label": "Income tax payable"
       }
      }
     },
     "localname": "TaxesPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceAxis": {
     "auth_ref": [
      "r467",
      "r540"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by timing of transfer of good or service to customer.",
        "label": "Timing of Transfer of Good or Service [Axis]"
       }
      }
     },
     "localname": "TimingOfTransferOfGoodOrServiceAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceDomain": {
     "auth_ref": [
      "r467",
      "r540"
     ],
     "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."
       }
      }
     },
     "localname": "TimingOfTransferOfGoodOrServiceDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TransferredAtPointInTimeMember": {
     "auth_ref": [
      "r467"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract with customer in which good or service is transferred at point in time.",
        "label": "Transferred at Point in Time [Member]"
       }
      }
     },
     "localname": "TransferredAtPointInTimeMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TransferredOverTimeMember": {
     "auth_ref": [
      "r467"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract with customer in which good or service is transferred over time.",
        "label": "Transferred over Time [Member]"
       }
      }
     },
     "localname": "TransferredOverTimeMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/FollowingTablesPresentCompanysRevenueDisaggregatedByContractTypeAndRevenueRecognitionMethodDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount": {
     "auth_ref": [
      "r285"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset.",
        "label": "Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount",
        "negatedLabel": "Valuation allowance released"
       }
      }
     },
     "localname": "ValuationAllowanceDeferredTaxAssetChangeInAmount",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/IncomeTaxesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_VariableRateAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of variable rate.",
        "label": "Variable Rate [Axis]"
       }
      }
     },
     "localname": "VariableRateAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableRateDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index."
       }
      }
     },
     "localname": "VariableRateDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/DebtDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r137",
      "r146"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Shares used in computing income per common share, diluted"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations",
      "http://cpiaero.com/role/ForThreeAndSixMonthsEndedJune302023And2022RespectivelyOurIncomePerCommonShareWasCalculatedAsFollowsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r136",
      "r146"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.",
        "label": "Total shares",
        "verboseLabel": "Total shares"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations",
      "http://cpiaero.com/role/ForThreeAndSixMonthsEndedJune302023And2022RespectivelyOurIncomePerCommonShareWasCalculatedAsFollowsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares used in computing income per common share, basic:"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasicAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://cpiaero.com/role/CondensedConsolidatedStatementsOfOperations",
      "http://cpiaero.com/role/ForThreeAndSixMonthsEndedJune302023And2022RespectivelyOurIncomePerCommonShareWasCalculatedAsFollowsDetails"
     ],
     "xbrltype": "stringItemType"
    }
   },
   "unitCount": 4
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(17))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(18))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(27)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(9))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(210.5-03(11))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "260",
   "URI": "https://asc.fasb.org//260/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-23",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-28A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "272",
   "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "326",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "330",
   "URI": "https://asc.fasb.org//330/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "360",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "420",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.25)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "718",
   "URI": "https://asc.fasb.org//718/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480454/718-10-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(v)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(l)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.F)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "https://asc.fasb.org//740/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-16",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.C)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "270",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(h)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(h)(1)(iii)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(h)(1)(iv)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(i)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(4)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482736/825-10-45-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-10",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "835",
   "URI": "https://asc.fasb.org//1943274/2147483013/835-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-20",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org//1943274/2147482900/835-30-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org//842-20/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(4)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Topic": "848",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-21",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "912",
   "URI": "https://asc.fasb.org//1943274/2147482312/912-310-45-11",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 5.BB)",
   "Topic": "330",
   "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(11))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481573/470-10-45-13",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481573/470-10-45-14",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.6-03(d))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.6-03(i)(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.6-03(i)(2)(i))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.6-03(i)(2)(ii))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.6-03(i)(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "205",
   "Subparagraph": "(a)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "205",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "27",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "205",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-27",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "205",
   "Subparagraph": "(a)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "205",
   "Subparagraph": "(b)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "205",
   "Subparagraph": "(c)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "205",
   "Subparagraph": "(d)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "205",
   "Subparagraph": "(e)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "205",
   "Subparagraph": "(f)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "205",
   "Subparagraph": "(g)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "205",
   "Subparagraph": "(h)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-21",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Subparagraph": "(e)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Subparagraph": "(f)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(13)(a)(4))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(14))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(17))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(19))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(4))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-11",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(8))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-05(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-12",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-05(4))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "220",
   "Subparagraph": "(b)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "220",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "220",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483580/946-220-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(2)(g)(3))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(3))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-20",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r428": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(9))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(6))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "505",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "505",
   "Subparagraph": "(a)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "505",
   "Subparagraph": "(b)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "505",
   "Subparagraph": "(c)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "505",
   "Subparagraph": "(d)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Topic": "954",
   "URI": "https://asc.fasb.org//1943274/2147481027/954-310-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "440",
   "Subparagraph": "(a)",
   "Topic": "954",
   "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(c)",
   "Topic": "976",
   "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "978",
   "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r458": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r459": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69E",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69F",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r461": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r462": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r465": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r466": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r467": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r468": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r469": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.10)",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r470": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r471": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r472": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r473": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r474": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r475": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Subparagraph": "(b)(1)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r476": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Subparagraph": "(a)(1)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r477": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r478": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "310",
   "Subparagraph": "(d)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r479": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(19))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r480": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r481": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r482": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r483": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "830",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r484": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "830",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r485": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r486": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r487": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r488": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-23",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r489": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(20))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r490": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "g",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r491": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12, 13, 15d",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r492": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13e",
   "Subsection": "4c",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r493": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "14d",
   "Subsection": "2b",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r494": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "15",
   "Subsection": "d",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r495": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "14a",
   "Subsection": "12",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r496": {
   "Name": "Form 10-K",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "310",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r497": {
   "Name": "Form 10-Q",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "308",
   "Subsection": "a",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r498": {
   "Name": "Form 20-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "220",
   "Subsection": "f",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r499": {
   "Name": "Form 40-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "240",
   "Subsection": "f",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481544/470-10-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r500": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r501": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r502": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "405",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r503": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "425",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r504": {
   "Name": "Securities Act",
   "Number": "7A",
   "Publisher": "SEC",
   "Section": "B",
   "Subsection": "2",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r505": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-3",
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef"
  },
  "r506": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r507": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r508": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(1)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r509": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r510": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r511": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r512": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r513": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r514": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r515": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r516": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(9))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r517": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r518": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r519": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(d))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r520": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(f))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r521": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r522": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r523": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r524": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r525": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r526": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r527": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "55",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-55",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r528": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r529": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r530": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r531": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "410",
   "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r532": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "https://asc.fasb.org//450/tableOfContent",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r533": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r534": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r535": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r536": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r537": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r538": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r539": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r540": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r541": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r542": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r543": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r544": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "852",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r545": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "852",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r546": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r547": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r548": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r549": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r550": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r551": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r552": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r553": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r554": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r555": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "205",
   "Subparagraph": "(a)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r556": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "220",
   "Subparagraph": "(i)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r557": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r558": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-11B",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(8))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.3)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "https://asc.fasb.org//235/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "250",
   "URI": "https://asc.fasb.org//250/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "https://asc.fasb.org//275/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "https://asc.fasb.org//440/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "470",
   "URI": "https://asc.fasb.org//470/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "810",
   "URI": "https://asc.fasb.org//810/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "c(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(13))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(16))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.11)",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.9)",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6A",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "https://asc.fasb.org//606/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r94": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "1402",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(15))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  }
 },
 "version": "2.2"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>65
<FILENAME>0001387131-23-010026-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001387131-23-010026-xbrl.zip
M4$L#!!0    ( )2+%5?X(D*3M/(  )"X"0 2    8W!I+3$P<5\P-C,P,C,N
M:'1M['UI<]I,MO#W5.4_:'SO<RNI$HD65B>/W\* $Q(;;,")DYHJ2D@-R!$2
MT6(;__KW=&M!@  !$@A;]\Y,,$C=I\^^=??G__<T4J@'I!NRIOY[PGY@3BBD
MBIHDJX-_3RRSGRF>_+^SMV\^#TUX#IY5C7]/AJ8Y/OWX\?'Q\<,C_T'3!Q_9
M4JGT\0D_<V(_=/H4^!S',.S'NZO+MCA$(R$CJX8IJ"+R7E)D]<_R\?&OWJ,]
M79%G'L7?N)/P'Q>&AE^EZ0O^A_,?[1]G'C4#'\W9CYKNH[*A93FVL H.^PGO
MA:=ES[(89E@ANCMO74X?-X.?GS[ZT=0%U>AK^D@P@89XI%R&X3)<WC=(QD#B
MS$#P]X>!]K!VG&*&9]UQ%H@SNU+\<T\P/(Q+: [=[ISP [S!\>Z#.NHO'3;_
M$7YU'[2,S$ 0QM[#?<'HD0>='V9&A>]T34%&X-/DEYG')5//F),Q,H)!@9\_
MXI_Q.TR&83.<AQ91LU13GP2OU?EQ9BI#-Q>!@B]G'A(?+.\A<2P+2-<^B-J(
M/,/D>>:$""42)/B7PO_WV91-!9U]_FC_"[^.D"E0>(@,^FO)#_^>5#351*J9
MZ<!"3BC1_NO?$Q,]F1]MV?V(W_OH#/OY/YD,=2$C13JEVLC\1#6$$3JEGJ2G
M3U2]2CYT&:[2O6W_PU6_E,O7\ \&C\IDPK[-%[NPT*YO@5UW@1N,DJW8;[$,
MN\WK.::+@"<!>OA/307\32J &%U0ZJJ$GKZC29>!_RL62WRVN,FX)=^XY1%2
M)?BO>:$(@VY?4 RTR5"L;ZB*I>MX(-D0!>47$O2:*E4%$W7MGR_;S-.5S#Q?
MW?S[[R93\+XIJIIHC6;FN(!OC.Z&Y,T5EXYYC719D^Q1;[@-QBSDNW?5N^ZU
M/>A_*XH,8QK_K5S7J3+PT'\QB/_]R_'P(\MFLZ5NEV7@\TVW*V,U]U_@-?P3
M\[?;Q7S"\1]@V$WF/^^VFQ%/;VPP?_X<!*[:9;N.9;$!@:\V&8/KMH>"CH"@
M76)([4$,\MTFXU0Q+-?.6/P"2+L-7NI>6SKJ9OVCC.$;9XR>)DTHPYPHZ-^3
M/NBR4XIEQB;5D4<P30,]4BUM)*BT_04-\^ARGVA-27YPWY-D8ZP(DU-*U51$
M?I2?3K'Z0SK6J^0O69*02K0L_A,>;  ;Z[)H*] GLX7-UX6NC3#IL6E@6%.S
M/^<SH*@I%18'4R'Y-%"YG)Q-M<OGCS-31#/KC.HY.2.Z)Y:)EBFFD[-,AN7
MDXAEUB6ZZN0,/[Z'&7V:[.3LAELQXX4NB-BW<H9RO);3NFI8.O95013 =..1
MC182D?P@]!3D(/5D!LZRT>S[89.E?T] :#@9BPJXJ>"<6*IL/PMR"$Z%<:K*
M"MAZW0)RN#"Z (4 \E(VY0'Q#%O(0/K#5G"52I'#U4!F'>*5$;K4#.,DB)B<
M34S[$P]<V'7>[5:TT4A3VZ8F_KE"HQ[2YP'F"M$C<A> RY(DXR&!Z019JJL5
M82R;@K(,>"YRX FNZH9A(:EJZ1 CVLS_0U L1*S .00 $N!UC%2#<,N&*VR!
MSPH!B503=!6&-Y8MK7@8NF0]J#%_;\!()291 &_&2*7HI2 Z1EJRPI",5"H<
M@"Z\Q_[\IAJ)9_.) G@C1N+9Z+$=$2,M7V$X1N)QY'X(NF0]J#?32#R?2Q3
MFS$2'[T4;,Y(%YK>1[*)I V7&I*CLMD$K#&>I<7@GP+CZ0B@KR+[W[I:17T$
M+JIDLV1'>$(AW*T@MY4O1N](7>O:@VS83'2I"6I9E2XQV%AREL 9&)3,0QH]
MSUP+$Q*1-/M5U#,Q\^!0I:(9YI;HS&:C=]Y\-,;J Q31MBC,QN#RAX1N/>;B
M\.BQV/?FQ;ZL0T Z(*'H^63ZB,,+Y4=!EYIC_*#1T-0'9( 2A'@71+W9MY-!
M@6$A9V<!?-K","%$AI>)8KJ%E1FM]FVPTLC-N-#N+,E9_T\D#X;P;_D!Z<(
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
MC!F:,?>Q/V).8[XL^YST%MY#J)Z4PB]'ANW$AM,(GDNS8,G)@KDT25!\OO[
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
M65#>OA'L4YM($M\$_T;0)8/"O;NRM*R2Q+\3W@=Y-!^H5^\-&T/PIUQJ4^^
MA,1G)6WZ:_Q!B)<@\G!1N! [S=K*-IYGI18PY>'-XUV?N[$*>] "?GBP<5P3
M0+T,!BF31IBR-8 O*+9 4QAW]*(<2P#"'#6KL[D>4BAHXSJ!?0Q/TS*),()4
M=N5Z=RQ+7<O^Q2%VD2UTGP?YX4C\6?JF##P*7Y" %H1T(9VS8HJ3&88H&\V^
MS01%?%+4#!.HUDC23 F),ICD$\KY8/Q[4F]<G%#XP!HRA'N6$,O1>;Y$<]FL
MRP\N?!Y#V"?T8#R*L]62V6()Q(=3>#_LF7WB..9F>05@X1B<:(^Y\?V*O_\$
M>/EK(57$HW^BFF,279]B_+GZGKQ)G*'%%2T]F\??T)S'4,^U-.=)/+ U_9Q.
MZ> :QF+_M+\5>WSFGI<TOZ8QX"/3TY'P)]-#P/: $D%Y%";&QLOQ,=G2B?UD
MBO$@HN-/!P1ZY4%R1PI>I.^TWJC6[NSVRQW"X16'4YVL!&KEJ58!$ ?L$@B-
M'-QE*U!#'>O=_S'$D3I^$D!UGIQ="[I)U2G,9(ZS1]556YF3C2G"F8>@,%C=
M!<8-";C#5/,[\,F^]$7T<%%F->HF&E$LR0NRH$(KH#\QI4E:8(I[TO1MEX/>
MW:J")<GP^[1=1EA_=DL0JT>V"#[RN#DF7@J@)A\E(H!\$E)QD#1#R'-! 4(B
M"AQ=!"04B,OB'JQ"'#\_64FBN(I$^\Q8GB5/<&N)G5)X"86S>Z"P3T"!M,TQ
MLK<I3*NWY'AM0MFV_$1=V64S.PZ?903\"*;W#$<<EOC9(R9^;N_$)_'+4%/
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
M+GZ7U+O6W7U_"9FGTR^RW!+)#C._PV9?[DH/><ZJ,;P89OZPU)R'( +O=I;
M&_-7*(@V<ZF"(<J15.^2=.]JIB-R:] +;,:O(G/=,*R5+-;(<I/K%GN9_2$M
M(;%,AEADK^RJ>9N6:9B"BM7XBLG1I6HQA<KYZ/>?)9-KTW$V)J>]]J0PEP\C
ML8'$<G0!0CHV'Y0I7LU=^/C7>0I?;,=9CO*8#&\Z?P=,/]M:1MQEG)7?@;.<
MR7^J@VONYK=A/>Z7L:+0$1$S5A0@ 6/EF#Q=* 5ET\.I+?B?,8(G'I R<4EO
MW[,RA?^P98IY[S>6NBB1T".MXX1"T*[U4,QI<1S)7? ?2@#Q!1Y64*X%6:JK
M%6$LFX+B6]]<Y'/?*!MR_^['^,\V3=21'>;A@4WA6UPRX-B+-N2'Y8OUZ(Q#
ME H\76!PF\'Z_&4RQ6E+M.U:O.!IMH@/,8MCDYR_,Z>%3$%6D503=!48V2B+
MHC6R%!S#55%?%F5S3LC^ZG?]UOW5_5^TS8DY.]5'EYT+X@(,""40'W-]]-UJ
M;EQ/KFB$V "8_CW)+.R1SM/%/+[>='V]/J*BZ?N77"^-A]@;JYYEQ"Y!!)RE
M2R%VQ&]&S""=Q*[,:/N:L+$2\I=/]89VURK\JE^/$UH^79X+3ZNI"RR_2/IX
M+D@HYO)T+D39+*VI'BN+['J3&LV6"C2S[76(.U16@QM#UQUEZC6:3#5CN7ZG
M]^[.?UR,B_O=H;+FU&S?4DAJ(5(%^0J.35['"NF9V^F9V]$RS]&>QOW1Q#L5
MX1-\'ONU"*AI!C#;D4>@A!KHD6II(T&E[2]HJHUTN?^)&@GZ0(;Q\:-,(++=
M.<<QSM%&B&IH)@QB:E1%4R5\_J6$/Q&K2B+?"UD55%$6E+=O2 $6G^]GQ O6
MW-+_D\D %$B13JEK80#<VD9_+:2*Z)3B/U'-,2:W<8HG;"-"^T\424_"SU0F
MXPJ:)#^$]25L"#.F-CZE\IA)G"_<%_)8E+=?NCTP,Q_(B(!8I"],QI#)?#AP
M5_^)ZDS&L,BR#G(G?J(:((TVAAH:7C?O?^FC^Q;^!6/V\T= 2 !NQO!^IJ<C
MX4^FAT H84A!>10FQL9H\='93]*9B?T08LAM>NV'K^S_CV>FSSU?4<L01^KX
M28"(]\2MBE2:C6JMT:Y5*?C4;E[6J^4._-'NP#]7M4:G334OWKYI7M=:Y4X=
MGJ#>W3;*M]4Z/ 21;N_,DPVBA8!U%,71;T1)XK]A'M']VW7\>(;KLBS??38[
MQI];4S;'.C[)P!K!BB;D$6 O5\BI#!4&3"H8RI/-T>J(I8A[5<8&,)[[Z1/U
M*$OF$(_"_',2IDUP>3?@YID[@ +3[-\3;HK(;*G0)65LG%[H3@O:WSL_OEV-
MQYVO0F^9/[%NX@AAK&+(. ]&SH:Q?'^?O>(JO/B-2P",K(T]=A:/E3_CGWJI
M<I-EIIUFB[HR >"?VXAEYU%\EVW\T89#OA '^"%[96,1@ND66D=<B3E8,*&;
MI"Q=;$2LBKUA>V<7FDZ90T1UACIX/%<P^M"@:N#N2*XRI>*;_)NE(HIG:'>J
M';AUIQQ-U"1<XSF[&'!QWY:?9C'?TZF/9]04.]OD/F*2BVCPS,WC>5=48OT8
M!9Z.8:'<:UEH2M'M1#QXRT(+/2#50A>Z-@HZ[;GV)"H6GA1?$ ;_D3K"$RE
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
M&E6"U^7W=L(!9YX $!$1U41:#/ +F!@PMW/JE*SB_"HN&B@6SE[AW=B:2MZ
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
MW49O*AV%:E\K0S0-]*7K<FF2G;0;DQ.AUZD^B)5AVU6:82JBXG_*Y>/CDY,
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
MK].YZX%^?C'IM8M1[_5&:*V;S@_CUU;CMRUMMH?4SB;:"/8_+QQZ2?$@ET1
M OO9WL#U:KBB>C[1VJ]W@ZKC774E1ZZTGYL1GY 3%HN<V72,KI&/IM:!]P_6
M,MOFY+B2%L>E7.;37H#% G0V_0+,(=*)!/=^#)'VBW_'OQ_>'^_O4V_IYK9A
M-6'-+^)!?;B4:$N(:3Z?B:FBT"8K@UO Y*8"XSX1D_,3D*N?G=<CY;E55-08
M"<BVJYC+G]J'TY.-T#H_TD<:E,;G3L7?7$DG6HVV.<).>AU9&L?)!??>_YRD
MW]LWOTZOU* 8^(K2(@]R:7\4_';6E%MG_F#R'METKLBGA5CJ\V_4G5NC\)'(
M_8V0XG*<K%)]_:L)DY#3#X7\[EHGGKJXKL!B,2;OU09=]37&+ZV3O?KE_I[X
M^OOG:;9P(@=FW>_N8V)L-DX'<H[/Q-.D<*.NX!JY;2(YS1_';?VW7)Z\&4>#
MS$4QWTS\EG\:G3\1EAN_9A^_E+UH#>AL8U*]_7&BGM7KDW1G&VM E\S]/;WM
MM0_PL.-2'ZOD3JPRT$&U4ENZ20I&VU4#W;6C\90XR8&>R;U))F=3(U\-U(*+
M"!VS,L.PU%>UI01'^-M0I>7#2$<7]]^Q%^FU/GQ4 #@MO:/A2AIJE=$84F-W
M\'XAG>>-L_:MX^3Z&7G=\^YB8JN8=?66+^:?X0LS2JI'0M)4'=(9%T>H-";%
MT?-#_J';K-6+"57&])6"_#\'!]R)JO3D;]PM4+7O,-3+2-%:0%W%[[2L%WQ;
MX X.+-HAJZ\A[&"J49;[RN<&PZE+GR/D>Q!((?#QZ8ICTW0#GYMB"6R1KL59
MR_K.(;O\QI4,J:FVOG/7 %"Z]&L=%RF([K?^L5[#/]&29K#\@)T8P  '34.1
MX'(H@#<84^J]26-SR4T@"W,?EN?#[AGBU.GI)%)_UN9N%=5L]71S!/0LI(!L
MRAU--_.]QN1U<GY63^6*>DI8#\XWN>0I0".\FEVF,'B/3UIBFS4$%F0B6?S&
MC08#Q6A).,G_-O_-'8;69G0.6CQI3/J%]YO;^M.)V7^VMVT^QTUPYB>EZAUW
M7[K\>>Q?P?QB@]X#F*F_S*M".R4LK462(4\ +],-PB)A;S1 (K:+^,M5G_&S
MU,2V:<O1^$CJ86>#6E=1AJ? @ =PD\/J6U>"R-.<(1H3]?+F71?:OT\?Y375
MJBXT)D>M]\M:;O+:O89%E(9>2934G9[2T?C]/:PWW<;3?L65T?87DMGE.:G5
M MF$R*4M17TEI) 4Y+=^/Y#&])>#@:&_@T1$A->N F.U0%X=8\EK-FA3:4DC
M6K6?-J8 T?  .UOL[VG2$,B\TT%"U4#T'1%!]X/JL6\RU4^HT+53&#>W.45_
M?9[6"-5_HU:(37#_-JNP<)G=PW66]BWUD3Q\RC+4;J[X 7",;RT5I3F,7DL[
MZ"S65%A_J<\D6B@ZG_G;:0#<4]IP=XI^M9/-E/U2!;$*K]A!<2JL=J5#K-E<
M%-F)09I2T/X2/1WF1OX@AQVT;U7S2C1&L.%^3!5'M[T+45VUQ0>7A=QMK6H$
MB7-7BH3*)K'L8J<TGV7<(J-W"G:\4F1*X@*T5<M6;OZZSS;?LI/W>L_5=2K:
M<2UB-[=EBH\MKANR\9%LVPON[;*&.5'@Q9S(Y[(+]A:.M]+IQEZCW#JNT3%0
M1=02;MKV.S/NT%.K^&S^KEZ</*A_V)589)\VXSXX''<9QK\YOYPVQ&R5,KCE
M"M^4>6*G].V4O@]'Y4[IVRE].Z5OHZ35!90^41#3PGJ4OL=>OGBM2N]OO]N?
M7&#U=S-9EPXG\OEBBL\O&J[TA^APV77<BL5TN.S(D.K/@_-!0?K#KL1:=+A8
M[\/GU>%FQ1T> 4C+QNOMZUOUU)16==9.^1)7%;C_^O=!X12&)>)==3EKT6F*
MO)X;F>AKA1>?E2'W,M*'"A$)]O= ^FF->L2];W(T  ]0SAXT8$CTL48(,H-=
MNCK_,7GMIPLC;>4@LT7BR=)_9#Q9>A=/Y@D!E0P-Y=Q;Q2#AGV&Q9.YD^]!W
M&I/W8NGH2J^="<-L[%#>9'O1!H6,Y2.%C*4:D_/C7V_Y(Z'YF$UO1LA8];I\
M<W7,W1[?<?"/JYMKKG96NOM#XL?JP'\PK%K2QB22NZ?"B&_JL$LX$XL, I#O
M[Z%&*MMR#F< "5,-%K\.;.ND5#OB2K4R5]<'0"3$7(HG&?9BZKMU<3FXN1RY
MNN0/PG>BY8Y,^")^;/BF'[1ZDFER?678U0$V&OF]B^61>'S%&@X.D0;3'\(>
M#.%Q6(!"?@O_Z -;I)'VJDE6-D)VVQS#&EY5O+:<YKP#O\8OO5E=FR6:W,%I
M))^+1%"1$??WR)"PX-'0',+L<1QY9.!_<( !*95_R%6<7PV[AJ)P\.ZP2[5Z
M4WVW?E0T&1NW345UD4 N3!D8*"#\O2J],4\#M0(2$D)?&+I.MBO)4QD(IK,L
M&L\/;TA#V /8,B#QI@H4"9X=2 AR=2 A"CA3:<'2A@ 2"HB1-G]8UUX=<C86
MJ('#Q,/'0R+OPM<,':48Z7#-$6()?07UK19';TZ/ # $I/M[;I12Z2\2(KEI
M0 +\9G\,;X0DXR3A&:"(^"68@-:BUUGJ68-*0SC:YHBEL(Q80@9I[GW(5:>?
MAUGYLU?<*JSKC3*9#LU7*K&O(*6KZ],M*5R),@&9KQE/3MRD^N,].[@V;@7Y
MV?;3!\QT9)+M<=,6(GO/WCA_D&;1(Y\DLCQORM]D^$NN7A13;_VZFLCR9FK/
MJR\PK/Y-QE/_9J6LUX]:PK3\FT3J;IA1@/R'TF[K['VL,_C\0:%T$P8D!J!
M=%V<:S[+6C>MCE\;J;6ZBCSJ*3=MOXY!"/C1F&*EC,))6%BYIX;T,N,U)B>E
M]]K3I5E]&#^OJ,4(AQFTOBT2;IYI3'[G<D\E/6->O)/ZO*$@V-];1'#11T8H
M(\*\1PNCR.1,0&"OI[^9WV(.%(^P(5ND]JT2)K""$W9F\8M,L=P(8LCOEZ7<
MZU7[N7O37<D#O);%;/IXSF87<(M%>[-%NMF%A]=TSKR1)\?1J_-%_?@F8<PG
M%?U^/WU_R-_>9=758E^V$A/);7:*(DOP8NRBK\J_)#EU6D\68TN$76QYM%3=
M;2H@+-9M@VH:W#^X'TDDY$2*@]G"':WY!->-VL\U 7R# J\BIWUMY]JB13=N
MY]IVY^:ZKC:+3+F+QU\KPRK1<RZQ3?3D[?;VK%CO%I[&A;E-M*8#V(Q.\PN(
M=[R8+O!B-OMUAILGY8IDL_:11%_$6C?7,99'BT0(G=,"0LS1!T?B+#XK\6/C
M6SP0C-78-A6J(O!"-L^G\LMF&RR%CQVZ-AM=HHTN<=6J2WD^E]YA:X>M&&SL
MTV%VO)!)\>F"L,/7#E\NVB7$0KLRA0R?3RU8^W@A=*R2&?'@:_D7DZTOX&@3
MB K=?2VZ:E*8$3I'W%"EICE$;#;4H\;DM)5][#U>R8_]IWBUE:3ZE\VJ=54-
M=C?Q&#"KMKYYO::?'AV?^6NQ4L+XD!H"P(. <*D%4/B?T$21XWEWO:&FA,9@
M( Y2@6$S3C9(;2@-2: #<4[?M$EY8IHQTAJ9L),'!S]=BZ !"W:_N1LQ+;0?
M?P[?VN[H%-R*+QCK]37L2@8&@JY90@C<MV@Z--N:1MC.1)0DT"H&R%6F9 J[
ML'/J,!6Q"=P"5S(<5K.BKX-@Y?='Q@0KL?F0/[N3,Q?%[&>&U93RO$Y89=8(
MJ\K"U"JL\/U*L))&S_F6*C;E=N<SPVJZO=SZ8!6UV5,LL"HM3*V$)*B5+)KZ
M>5-2KUJMSPRK*75YPZG5*I)B!&>,7VD7XG6_A F4T<3)F9-<V.KD*GX2?AG%
M=4JD=R%7\4?FZ%(ZNFJ/1[DEK^*\5,2MN*JA\FKPOGV M+HT0->(Z,79RPK"
M<!BB'\MFK_YT:];[O<^%T5#A-WF,1F0FVX#1Q>T *TC681@U^_G?W5^M<6&0
M_L.I;K#<G3BB%VVQNLF(/EJG4!^&Z.)+KOQ:[1T-SSN?"Z.A0OS64=V=2VSW
MM;DNL=P,8L)R9CU.L6?]=[7]>%_*&NF-=8J%^KI8LE\L_H59%CNV<7/TN8D@
MWE4Z^5\/1^_YR%(!6\(F&D8JUM1BC+';./M_>N%CG\I(:IZ8Z4P^=9.]>O[L
MQ[YL\-O&V><CD,DY>L2DKCV:OU_.SE/YPF<_]N7CTK;*@AYVWWW98<W^4_OT
MY6;4__W9SWW9>+%--'#O).#/][5 "=CMT?=ULO;VKK]QZLE,!XM)[UKG]]//
M7/,]M[%R<>1@L9JO9 HIPH/U=T**%NRBR#[=U^*]*HQ%IH!%=N-Q*>>NU?-:
MK5TM=<4E[EN"<6X_5XIG6_ 4UR4$+'38:PT02P6*#I;8((A\1BSRA6+\NL*G
M/:FD8J[FGE0ZE>6+Z?B5^4][4DF%,<V_4_"_5"ZH&-?NI-8:&33WI,1\%NY5
MQ*3!A8S%:^'_8=ZG^NWMU=/S\7M)RB>32)YP[-+=Q\8H+?_NASKQ$I1"5G+N
MS;N%!1! MB[JYX_%2#)A-W,PDDX#0UTP]W:'D<V3O!*E(WD^6]BZR*P_%B/)
M!)+,PPBH4/D%\ZP7B"-Q1,%,#*+@Y.YJE+E0KOI/&3D&(T[8>F(O_%/7G;K2
M"^UL'$4-5JZ)L-67:H5:/;,5I6RVP.>+Z=5N3H3SW4$B<7DM-BM'NLBG4JD=
M)+8.$BO5Q9E#)P 4N:RX \76@6*%8C9SZ$1*X,5%"R<E6]%FEC_Y#W%@?N:O
M!4KDI?D2.8O=F;HT3!ZWVJQ,TKF3(T'_\>.F\[Q9SM7% Q,6#_G=+B=$V)&N
M5WK.@=XI9B*2P$_K$%KH+!(36[/I#)_*_NG.N47O15+R8BZ5XX6H2L3N-)(5
MU(HY/KU,@,%__:TGY_1;/FY,7B>#EPM#31<$QT/IZ;H[W5]WJM_.K&;%A<;D
MM%[-O-Q=C<M:=^E/Q-\XZE+7.G7%Z&-?\; 6MNXDBL#G&Y/;YN1H<I5]^O%3
M66YQ&]VM:(.:U!8B-:E--R;*2^F\>Y3[\50++LNR]B:UE>.C^I_1D?9&XZXD
MH]7EQ QV%A-RWE:FI > (F._RJ%._E+JTW9DV( ,W0VDE5@9GE&'7*EC*"3L
MPNEIV\.G#9/<9-)_W5! NL:7CR3M^2>04OCU]6'I$-N1U72X5JS]G\'#<#@4
M/EM&[,-,I-[^'OWM%WA<8E-I SWAAK!T[)N)_Z5K8/UP_7.SNN&REFOL*==L
M3N!*]]3AF#WX]9##MKW. _M[UA,PA@H[+/5Z8^RE^JK*K,6GQ!G*J]Y[1?VA
M1;_?TR6B5?35(=DAO<W]Q]_?TEU$]%+5E)LVG;SUO2OI7>V/^D>Z8>AO,'99
M0O(S'#?4:F.@Y;0<9HD AM)BQI6*'322-Q;&61N+@G%>#GK-_N.=M4C?-%DH
MC2'+^=^3<7Z2==IGXF1(/U6Z*VWV"@]@)6M#ND<7Q[78ZN8)!HOLE%<J*)DW
M;=RP@U3Z +:,.=&F=H-]J#%SN1$EB8.<+4KD_*6,TZ&R' =$KH<K_^*"K#T=
M[A*P9:&5MBZ>QI8[P!H98E4S@<<B%&$=2JF/G:?7C"/K->31N 0+-R>%E^-Q
M)5/7%"=Y%:<,JK@U9QZ1HP %P&G/ TC8<I<" _N]=\XQ'+X0>OC[>];I P7L
M4T+RA6$ I^$Y?DJLO-#@FHH$)%@EM-P$BCI$ @7T%',KL 'R ,:6@(*I*,MP
M'4.5>23'LM*&(R?$GS(%'R7])&VC'1:8ILTU9[% B:N_*;TV<#?"" DI9YQQ
MB@FZ+^O46\Z!_40.24:8>HC.A#0%)SW &<,+_%ISS'T#MOB5@S4JM%<Z/@>H
MQ![B8T[& P?*ZUH;SD'(?S?A%=4DQBZ';?6\A!JH"NS T/6H T98OY_:',WA
M9,?O Y5F!U5@6D)#EEEF:UJT,EO3(!E&HQ\VVA'L)4WVT9.5*-BD([?KO5I;
M:YXY]76<V9-=M>G/;&4'R(I@_ROMA&S,G'P(&?(2')P$:;PF2^,QW'5%FU*=
MYI_!7_]>ZZ]D<*O+;&9*363<Z,O(ABRBP+1AY<,DA:^K63K2& W;V_> ]/0D
MK64A<G_/@1.VJ364@:3*B&E/V]NOW[DOS:],UL+Q4-B"CXY:5M-E_*#4@0ET
M$.Z64.%\EG(,?!*D-@?N^WL^O.-,3$3V%"/-K2*D$6-X*R*^(\I9,7%H+Y?T
MOG8+QZ_+-YIBW8K;'Z63XZJ6[:>;FRS:V9<MD@@WC^?[=F$EVQ'MC)+BL_"_
M&9$ 5+>Y:0UUO)<":_X\[!KZJ-/E*DJ+75C!XEQ3<,W^L7"MO^EVJ?1:[E'7
M2H]BX4]#J[T)JZ-5*/*%5 2TGDO:2#+&#*T9&ZU(R??W+-X"4(4!4P4R('VQ
M!&2Z%_@:YWZKP*=SKK?.1[WI;]64P=#+RWBB&,6K<F_W]<#^M]8%*6DOM\>5
MTH,N;[2JGL@-<?8AACN2YW.9F7=D?R^ I&<(.(EU3&H/T?:%/Z-P,Y#&>(!$
M%&FB0",K*!6Y%13X"WJK>V,Z #&]?5%!P(&_F2/0:^PQ0#+D-. 9I@GW\RN_
MOZ=3Q:ZM&J 6@O"(QZU(\ I]C^S/=S*7+ZVOUCA$>)J^2:F&8@',UE].%,5W
M2Z)+]^NX+Y/;4;,\&3=_=?+9,.RV7D??W L*<_/YQ/N5$!J#:)&=3:GAQJI#
MT(0G:+%4%(QR&!F&%?N@ 4K(%MAVW&-TOKDT4Q#8@[5>GGOKJJUND K-$0T:
M1K7 +Q8(^@7\Z/!-)_8=$,L)6 &=#C1=?^"(8@"#$+Y@243,0N%(]U/PS&\A
M/*.1\Q/<HJJS0Q:V!_<7PL/)SQ]21MXD;%N_#YYV#"18R/&Y7&@A)XO2<J8"
M:Y6GH>62)WRX GH9 *S,IP56C>Q0 ++:3[>]])-\UA&%3416R+QC@%8ZS:?3
MH9'\/+#BCH),F-)-M#",- (JQ_;::ADC=)\-;?,)M7K83Q##+&/,?BIMB;<V
MC][?(V8]8FET4T^"\JF/OL&/-OTD+![?-K^NVY +VZ>\MWHC6?GWO__GX( [
M496>_(V[E3K*=QCV9:1H+>4;E_G.W4N]$?IL!>[@P/*BRNIKU"POMUL_AVY?
MGV,_1\).!H%1 +:7V-,/?3HV )^;"F5A"W8MSEK6=ZX^'L!S)4-JJJWOW#5<
M%[KT:QT7*63<;_UCO89_POW[[S^P_("=&,  !TT0'Y\/F@K@',:4>F_2V%QR
M$\C"W ?G^;![ACAU.CO7L6Z_5Z >*-LX7F>>,^!H5 /M\B,BGO<EN' 2XQAM
MO=>CNE%;U22MI4H]H("O"OQ[:%([?5_5B!HEHVO+5(Q7%8X9G\'P)HY89E&2
MT72N!Q([C I4PL]\2@[SN:+#(4&OT<'*;*P['(HHK"J&XMZ.#(7Q)6_-[F4$
MZ+-C_?Y,_O%X?2S9BN/5_(7-8AMS%A*F%[KS()>4IZO7)X'$'W<,J/]A:/8C
M'K]PF"(:V]"08.?0I-S61P8</P[(O8PD \@'TZE,:L>V%.F>LM"A5UR'3D>X
M5)(_:;W=K95^/=SK>F[FZ07,Z,..+',8K@$%'!DW^\1:7]$52[&M*4,K,IQH
M[-Q0>@>2(]F^$" 2MC;M&[&IX+<\1SPE5::=,[:;*=]1@B,3AZ%-E.A9S^XO
ML8R(:!I#D$$Q%(<^27YF=]/"Q.CL2AK]JKS_NA?MVW_M[ RCD#(M ,A)UI1G
MX6?.:A?+F9]:%2RBX5E##$+A8;B:S6PG\E=.LLF])"./@4TY/JK6*Z7]/28*
MS@",GR $^:1\;*#$OG+<5(>RU!AH61K5$2]()N7W'^6?U[=IH5"<(O^^A48@
M^=Y)KW;444,RLC-",L*.%<@&"\F@X188](E_AR-S/(V6U8W'VP""F8D2NDLF
MIVKH_IX31P!JDC>,C,D2Q/;BBC? 5Z]AH @Q"!&L,3 #:G<7B<XK$BLAD^.8
M#7)D#'13(:0-MJHUZDDD H!8'57BQ27Z#H$N(W\!4L\G"1?Q!@/:T8*<:J))
M880[VQRC[D?,!4'1%I)I*DQ% QF<'HXO8@?_9L?VD/@=3_@.OG%K8,3C':I_
M_R](+@Q1\3&+T:P- )#RC78O&2H&F-Z1((R!*C?D@4=LB).AQ!O+X9ZZSW!"
M=@9_;U&I5.W7E?;6&C_D'6\UW3ZB;-_V1N9B,63AF[@B?XH6%&)927P+74)D
M.A"G9*;T83:4G_U-Z9T#O?T]C-:('FM892#&=TF1-OE6,5"S!E&1RJU3$/0"
M;Y%C_U$_:SV6FL*;$FH #3[>6;.<*<LF>C"%0S%4 ?F;29Z>:!D:"FH22P\?
M2(D"C4XS25'0<>="<BZ<33L" @8#6H?GWM](I_Y1Y&:B';V_5'.B\+LNNRKL
MNS9MKL=ST?U81E>*1C;B0:$@'(97 4(8$K;GP>$G8?RED!OFC\(1F>O*DK>Z
MT@)Q!_ZX@H3O0=10_I_24;78FBC'UQG['KB2[6BXG)6?$RR&A*]2%,2TL FK
M5 ?"Y7UADKVYD&:N,G*,PU*7.<YT@QEZZXJK$ \$\0".[8-7(0KHY@YQ=8<E
M8WIS*MSQJ4Y@JY<+'LY.J,#=,JWM*J,C7=O4F_Q</$GE!/,V/W&2*]B,N8%N
M6'&TWG#8*&CQKW^3L2_.B]*QU%B?+ 0Z'JCU)/O3%9J\O^<.X>$,!3T!^(XK
MQCDH'F%*:-H"1M"O&A6C]=">_)!# L6B2D3;0B>=>,-Y8 E-GB Y& ISRGH@
M-!5R_TED)=02':4!)2#4).RX?-M*ACDMH2$[0J@:698,8PP;[4I;"[TJBV2>
MI8U)\Y?QVGI(]6QTEZ9GO53>F7?.41"_E/B^2OB"!4Q5XT@Z26_L#<ER)85Q
M(3EA?+ B:A)CH83&,4RBTN#<0[?5PY#I:%,B=B!>LDOAQ2]]+H*7QR/SZ.Q'
M*]]IYF?BA3&"V 'C$\)B!PR?+<R$S <$CL1<4Z+6ZBKRJ ><Z(HFRJDHR'@J
M1^"5""DW472K<8L.U9B\G]9S+_>_LN]]:8ER$5'VSWM%"D?IQN1,40KR(*V6
MY1ZETWU[MD3P@_D>D+ DXK[_0CT!Q)\]@JU#"1&CD<@?5=,<$0&GI9M#\ROQ
M',"%I;$/IM.S:ZT82;8X1W:5VAPTXB:@/(<OCJGIKW0=8XV=YK\GK/+!(WH5
MCBF9=1/8T*(="Y0+@@W! 4C_1;N.7#'KZEEZGI6;V8>T='_4#JSY0<.MEBQ8
M)X98))V+>:=8_KF;]JU%I^^(Y"YC6:$3XH'%+4)NT9<NZY5)5SMN3,1\L7=:
M/#/NTDZMDN@%[/ZG7#X^/CD)K]"2%OZ.MQL(6Q%>;=S\F94CK0(T?\\NY[GX
M8_$MZ#^1%I#]^T,KBJX*N5G"872N[E=C!+X@1NQO._NDYU9M7V#]5>T:UHF)
M[Z_*%<J<IN^^59^D<BLCU7KWQ27NVUMR!2-I@O2G++6VTODE =XL8#>U1 W(
M0*06ED4J7LWZF^X#J-P>G5YW+Y].*LNTBYQF"/%"-!M3>=)Y$LKR[VX+I;;/
M/PF BT4^)2Y16#,0X&$U\!IJ'9 [M)'[>'WY/FI?3C+]S:*LI D&7>0Z_W^2
M-\5;*WU=XM#<J6S,W4OD3N5$/I==H4&A4WQO5D5.4*E3[=R9VAL(DY>GA/3X
M]5AMJQJ+^E,UOQT 57L6TT>JI6 \(S5HZR3A2=.'BF/9#K+.A5&EDB:7:9K3
M)0YZTX1)D:HT9I!==_*:?7Q\>;T>J[=/MLGMQ)H8YYJ79T:+8#%\0O&@--3:
M!DP@+8;:VH+K%X3%WD3=56K]G,BULT&AUZFTI5:"6\7,E7$43LGS&2&T81F&
M2$:)T^ ,Q1Q@IO.KTAN3.%UJZN(DKD6=F/M[+I]H#)L_PS<\N;HH%WZ+6D?(
M9Q= MC73>(XM@N]V]=,KY/E".E38"<9Y*9ZM9G ?/<E7E7:^UW]_2G[?8D.]
MD,[QF5G^&S><-S2G,_M'YG1F=SF=FR#?U#U1>2:0SC[)9<#[0O.BI<' T-_A
M*@[A5_M[0<G^3KRQK2,2OQWSA931%>)0'%)%-1M;ODW''.:;E<Q)?]1R(MFM
M\B[ H@+<,O,(W(QE! 6SLP*IV=@R<&80O")(\//B+DC#Q(!EAQ4R"4C=X'$@
MFB?C.?]I+E3Q>)C;"E9,H2R:;MBUKC%V?*W$'\$S45_O!Y>9=.7LMZ\N[D('
M/G?B":9KSA1_<S,/6S69@$;TD_T]JG=8N33#L)#C69T.*HW)0^DA7[D\OJB^
MM-:CNLW@C;D_DC?FMI0W)A204(:;"#M/"[/>J>9S135;/=T<&6%!"![9.,KK
M(/^FSK2S\]?Q:[FP'M1O;<>,=(S>RWE=)XJ1^F44&A/QQ\U]-UUJWI\[OG,V
MWV+^[YFA(,FOXJIT?G/'E7_6ZC=7QW>U/Z.-1F5D6 6W3?6=1L^9'*W6[6%,
M6'1O9)!J9ST8%].(*$?%)AE2JX6A7BSM=I8!;>J:.[E%"^5Q3HUS-#X"\MN%
M-3_[ H-KP+;-.^55T48*" G34<730R'E]XU29HN=>MI3=N!*>M(-ZU'3*Q99
MOW95(RZ7FS^K=\W^TXMC$_1\@#/@"SR6<K"R^.;(2+/V-V**IQ6>'+QOUE_G
M[0<3MZ86'5.N9VBWV;^)&6:6_+N#H.&J,*SVBV*YV1&>+IN?'(*+5A2> T$Q
MM&G:WZB6&736AUQ4"BN"-H<$%JNZ3I/8_;W9-':F*#43X*(-</'S -Q%8X\J
M9\*/HI9-%YNQ(W>J+=]V$,]0U^+?_ Y8T2FG?I%]OQG_+J6[VPJLF$EBN&,K
MF"OG=MCR8,M=V/SA[-?E7;]PU/P5/\-=%[H6+E ^-X4_$LO]')EH)9]E<)HT
MES]$J+51J^-CK6&)&#(__/*X./[O^_?:Y2^U==$)K?(;HZQJ@3YH.S:#WXOA
MRM(TJ(YVH K1D^[O,D^37^:E'*(GW1$]Z7:=>E("V(M;) C7DJ:QE]]A+T0:
M4(V[UD,QTZJ,BI\;?;&+#*&)(\$BZ8ZGNB!XHH\,N^'(<??\[<?9L%CM?FH$
M.FN."8#A-:=(P2FT^;38_"VG,"EW3[KMD+J^[*DIF] A!S)B0'!@0(.;U=4L
M?[+YMF+:)2=F!ZU\-5=YRMTGJF%Y,MTW64P,)Y73F#K>82I03"R]O%U+SR^#
M_EFR:GMBH(K;2AY>DG,:5)D=J$+DO[?3ZYZ9T5NEX\*6PBIVP6Z6$3M(LMM1
MK!#)+BW?YX\?.H/FW%#\S816[!);.+*X8(%M?X](;(;2PY*[6"B(M&,(%MK^
M%.OD\O<M%I=[B;I+S3N0C]57C*+Y\$OG$CWK%Y=WOVY?AY<7V<W1IJS[%[IU
M&R*G+F+.7-Y]^5E1Z!)69?-5*:K5N\XF69620F'<ALU%M*6/L2IM- K=TNWS
MW23[EAO=]>MA87"?"8>Q2\*AB74!2#S9(7&&*&S4AY>7DY?+R_H&&3F3 F+L
M<O,,[SPH9""+[K X#XOJJTT4SUY_GHZ/3\4C3?H#L&@O/"8LAIN=+!V.Q5.:
MH+99:W ;WF%"*QO>/\:>M<D =ZE 7?&XG1J<3H;7R8;/4;O#EN@VX=4% GBY
MN(-7N&ZCB._Y'P^M7ZF?\0<!K0]><5OCPUGT#EX+*BWF94?.G5Z44NMP]&R/
M,C)++0XRRR\?\_-94>962(:]R].'>OKQ=-3;8I3%KFF$:[PHLUF2W?Z>7[23
M1TR\BV*?GY6 GV],,D/E)5_-GA6UY_6D(L>?LGVIF*:BW P4/$"M0VH#F6')
MVFYM;?:+C<E+42V=O@T?ZG)2]>$_2YIVIC!XC[E,NI"*E(Z=:4S.FR>MYW;/
M& S2@:7,UYZ"?7E<JAW_(9G7[IH^K$8:C#1J T&C&8.D1F&[K;:4_3U$M6)U
M(]><AN1<JR>9IMI6%=(P$_ZD6Y>2#GK(W6A.LQZ!>NL$WMM7^5UIC8CC$G,4
M%: L,)BO03.KG.CZ,NGS/ R?-$?F;/5QAAV  4WR"=](=E-/Y7V@,M.&C&U(
MX,NS-&I"=8[M=RJD%7"0=6AR^4LV];>KTW;&:0)X[/V8S5T7I:]N?H8#D?Q.
M61J/%<E0M&F*.SWGO_ZE?:RMAERY*<[#>I:0%K;^8Y!U (ZF#ZT:,QR>*'Q9
M>9-Z  ;\BLF:?=OOL%[=)CE#W%]@K]CQVNJ=TR2?H#UM!KT1)I]JV@@>0&;2
M(S/'DS3T48?6)B+E-EDS*0:[JF9W%[=Z? <,;UKM>'S+\@)4):S\9:2R-CP#
M"9=(YC,D0)'>K9J>-OH!3(J&ETIV\F_I1W"RG\4-[R8B(#GI%B5A5Q#W;(#[
MN;^GNJB&Z2,;/IKQ63;'ZA<RN[ %@EMF!KR@5L.^S;& 11H*SZP5ZQ6/L%I5
M,'72E;-!J7-CW/UVM2@-_N@\'6#ZD[/LNN&$;('N#'RJD.&+N06K8I[,WR=_
MBN>D8+SFQ68K=_2SM:9]FLJ37&&7L@)?#/>0^$I@<A9T:36 *?#N[WD*Q,8$
MWDH4\&:\X#UKZY?B^5WEY61]V,UX?!)+MV;(IOAB)C26)!BW$;9(M+>(X?94
M>=+KS=;H^4=^?;C-Q(+;K)#CB^$AO!]>N'4-^O"E*C5I6T[:96$\LZW:/"5Y
MSFB-R2]1D"<W;^UF+IV0YNSOK)8'A%Z\&*^W3<$P6L U1]CSD^N#4-@?]1D^
MK;823 6!?3]H80U&4(!A_OM[?@DBL)DB,<%\\C9KJYD*IOJL?98&:A47R[B1
M+LIOM_U"MZ3,MCHLU4&M&/4&6N5C9_1.N[D\N;J=O&9/&Y.KQ[?+IR-AT!6%
M)+JG%7*[[FFK=T]+?7#WM*7AEDC?-#Y5S/%B./=>N7-:>M&K5L&B(D%-TUP7
MK:N^FL7!4^]NH"QQT79MTQ(#;L#A)=+\!B!;X/.%T%)""_*#RA(@]?1+<V'S
M6C<R=^.?+?&M$ L3V*R.:=N.SB2[G/$B]I/.Q@7*R&J"?WEH#IB"93DS.KM\
M5(X'^?S&D<S<#I3TU)* 92&;XL7\"HW"/*#,+PE*].Y/8?+X66@-'G.YB_M-
M;"Z9WZ&2'%LB<J< DF<NM.K%&MAWJ3U4#+)$]76:6N;ENY/F8_.R+Z8WBUK6
MNXJA2#CW7>O3.$#N@4$22"^BJ)I$Z].("V1M45W8/K^Z?SL_28_NSYYBM5(P
MR]A!3VD/OW'%0:RG3;JFHF$1U&%6X=COMK#,CW\XV4X"Q#D^FR_PQ:@-UN<"
M68P*Y)^N S]^;\&C)1(2T%"OJPU9;4R4=_/\Y%Q^,HP-:Z".R^+4_H#$S*C8
M; 8C"/]THOUE!8R'82&1ENSI')]*1X5[?/OS-22D+;B_>\A&H30S>?LM_KC+
M-D^.2NU-DZUOX2I@A-$KMH,B^5/)4/)=S^H%64P(GI+A**F,R!>*$0W/RS>P
M+C8FW>NSZXM<I7U]+JPM"#M*M]#\']D1+;^E'=$^JEMH?!$,K==12#3_K&B%
M8D.QDD\BO SJ1:TUOI-ZOY]ZV?4%)[RG:O+CP^^']E.+QCO2\ $2TTE<^:1D
M)N"&]<F\N_FYOV=U5]2F=8D>HWVJ%:6PBT.($(<09P# Q+R0?E52U4O-@=$B
MHBLE9S%G35BA*NX8B*;!_?.O5;<@IN]0;WQ2<19I)QUN\OJB_'[//)??CI3-
MV69/UOP:]EJ,M-=S(TEHG;I2TR1EWQKJ46/R\J9>')T43X71'"$\P)Z2:)(-
M63J=\&) \V!JE<"<-7UF[JEYV=D=2MPW[9^F0C:GH:8$4*8N?AA"<=@YJ9\L
M$V\P-[ GGTFZK>5?_P+'8X4(>4Y3AG'$^D109CX@SF>!60D?&PHT$WF)6#7X
M7";'9PJAF;'K"/W:=M04MPTT+'%[!=NOF.-S46V_D4/$5C;6)LE]PLW]JPT<
M]]<"N9N[J.JEH\AX!!/A5'Y/#:HWJI2)E:,E+[2X5A2'B+S5)RW.-P:71X:A
M:$R001_WY:2>J[!_3<XO0+CY_>-'\:7;*3P[HE;TVQ<&FH2!P)8U2W&?29["
MI/!9IQ;VSKIX5$!"^P:Q(C_BD@E7+HH"7T@M*,#$>=C;!)"@N[CY&%E17@%\
M"'GX7V@:Y=+GO:P_[EK76G.I<+?7.:J,+ZH_F^H,*AS.>#^(#E_J6N> 9O:O
MD1+/LU"M8\P-I;X.V)(@P!E>$#&;>T%E8%T$>!-PL;E$=PXT5J2[63Z5S_-B
M.F)0YZIT-Q,E#B(EL. W1FZ'-KE]N3YJ5]\?1AE7W-#J0N]4"%SB])?&Q7T0
MQ?7:1SY:^EEBBAM*PS<@X&(C*/?6XVMS>4$REL)"$;A )F*NR1(<P [YF1/T
MDT;'IG%[VW^]N3*=RHN>^)?I2!>O]WT-U9CL"BQO"H("ZRS!9F"\B4$2@.'4
MK))J1,2VJJE-%5)0S:DB:.%%AA[8QTKT6W?6I\@?Z_ = 0,(Y>$C*^9"W/&]
M@OY04VJ/MSFG"\Q#Z*Q=1;2F)CNSB-H,6G=@*JUO\L@8DU3H62"?O\"__A4/
MBR$5U#C\0&!M"EHA;>[965&JG(%EQ]B9!52_"#BT<*'&MZ8*^\8=?(*5<,5#
M"^B!0$XO/U#+K8OV\?6M&GYZ@?,./[Y(]&;^M&/@=7,*P68/0S,R_PX\YDC%
M76%7'Z_%WD7?.!YKS6TM[EK56GI?J4OO>#(]W80-"ROMFG-A<]9KC4F]I%\8
MYW6AE6GM"KNNL;#KO,*I@A"IYJL )YC.-5/YE' Q+&Q&S=?J=?GFZIBKEW[]
M*95?Z16SJE9B3:26E?B$I)F66"(U5TE4!XEBM!3 ,==7AEU=!OU5,93F&&AE
M6S%(74SIG7.%/7K"'$ESRI;>T>!4Z$?:M,H3O@3$QF2ANO#H<&BHS=&0EG5B
MA3N'2G^@&Y(!7U/;\#GZ:%,9OBD*+=^)8Z#-A/2_;*N:I+6PH"@IS\DJ3DJ&
M,2858EGA3RS4'3)=C92B50VL^FG5%R-3;=+:4MZH3MUDK^!:8"?4(?T8+/--
M,F3SD*M$W*,^\+41/C<R20E1#5B*(L,VP&O(.4F)6J7%>GQ*@T%O;-4OI9(%
M_$#+W<(1F6'[AE]RC].DAP/(QLPW ^-9@8O+5"11X+W6$$0,+=))XZ9RK:ZD
M =/'F=D35TTW MBD80]5'?=:LLO'T@J]9.6TO"R\[6P@W0KKVP15\J@% P(0
M)9+T(1&Y0<((7:P/AC"%.\*^IP] 6(,_PRSAZH#00$N]PH'!]/JZ@7:.9P4V
M%6:DD:*V9&HFWA;82!P:=L+ X:UJLT&;\J;"W_%MLK-P^R;6;OH%O %@MH7U
M9?$<<'\,&6O*@O#A2>W"71[ GO1PCQ&4=I_7$:S1&$ILJP>ZJ=+BN"H6U;5N
MN57=[Y.45<6-)!6$33Q+(DPZ2VT[-5?W]\*+KMIE*X,K41:"!))CNHM'BJ:T
MU9!:JGWSI'>1+[5+;:=&Z&W(7.<+O"&?3KJFJE@LS%*U@RM3'D?<LJFRJF>O
M]5;MLO\C=51<\Y;%5EXUSV=348M4<I'@.UUW=7]O$0!G(@/87T_U9V>8NM'J
M[X/\^@$<3V'5(I9O*BY?#W@V>GW%53/YHY^WCUJM>I)>/WKC*;**1=I"/2M!
MZ(45&<0(XY(]#E!^.,!_A8-;-:E4"2..>D.+@_IY8A 7AQ_08##-;('%HJ0T
MD PL(-_#LNS$EB"#(!G4(8]^FAB_/#((ZKR.U.+FZ_0SUKVD3YN<.6I2F97T
M)YCZ$)L6Y>BDL8%3J]ZWWOT]6TAUY:LB#V>%X\T1R'/LN_["S(AE;W5Q?,--
M*$0F'GOWV+V1=K(2;3XXPEW4VVVRN6/R=L")D&K/!LF6H_\B9$C7X%VK<*M=
M&M^"@%7[V=D5UMG!CX Y&T)E6VM'/H],0T5M5#5<=\8VF$41:@+,?FY)YMCZ
M@$UFT%A6AO%4;00[>V-O]?R.IY/GULGU[?EU7W-).L=A*YA']Z+/+&;99UZC
M)_$PO-D[)8:.9N512",=YMRN .0YN VCH6Z,IT:"VS&KFUGPIMYA?Y46Z&MD
M/TO#$P6T?:E7L[[B>3@"#LH_CFZDZO796=T1&&IA4UX.!PM->;T F='0,.)!
MXZ7%MF#,U.%H?W?_5^H/OE>828&6UV=\CJB A .COCT AOM.7@+J.U,2O+<(
M><FBXY9B#9M'HOS+A E6-;L4"E9""3SW7$Y4A%'/D(?/]KG?![!NBR'/._I%
MYQ:_$F0"289#G@KZPZBD</$^'C'&YHFN;C&$Q;OIO9^WIWG&9%6/08\8"V#)
M&I%.X!,NXT_D[G+ZY>E9.].Y2FE)U8%/W $!)])7B17)+&DR928=V 55,>>[
M)$J>MI"+#-28O-_6[U^.GO+=FK)S4JR]^YP8M?M<YV)0J4Q&W6Y77H\G@LRO
M?'-U5:U?'5_7:USINL*5;Z[KU>O3X^MR]4_Q/WCV,S0R#O<*NT3M[Y4HO[B4
MWLR1.O3LT6>0_:-M1VE_S^/D(!VT.,9*>W1KN"] #?$7\/?_JO_>Z;*A=D;*
MA'L]Y,JW5:ZD&+H)I!*;Y>$D07 ZY#GT\/3@TJB@[%_KA\!9#EJO0&E38NXK
M4>O::H]8H_?WD"W]/*P=<D#WAD"GA\#V1H:C'A]+YE Q-.?/P!QQ;QYUXYF3
M.I*JF4,WM^2Y"NC%L!+NJE6&N9FZ%MQ'"'FX8H"JV%65-G=,&@:B<'U#^HP9
M/'>ODDZPW*W4DR83V+E9XW!TF!/;3V0/8PG=PS>=^L'>#-A]PV1<?EI7O6D-
M==+9,(<L62B@ZJP0%@YO %<&[@U'"VR!Y\J2AHXV0^9.%=!JAF/N\K),OGAT
MR-W!'H^YDZ,[JE64^E14Q,_U8-N&S"X!:@$]<10;#(8#M8^J-Z@?7:G7)C.%
MV=/7@/-3I"CF-^Z+^I4;C(Q6%^0Q>TE36^2>- BGY@@^ F^9(XD8.XAB\@^>
M-PA""F$\3'2=ZOUD[00V=!P1;Q/Z7@Q.:NJCX=3.?2=;\46-,DF\"ZY96HK7
ME03O<6CG(4>!XYTH36.$'C A0V2F5-C^@I2F=!3FC+(L0)HLH:OP5=6IQZ6F
MD-V'[PL"SPGB%^GK%_$KA8V0M28+3V%O'?2' >E"*XJF=.#2 SY!0D?93!T2
MUV$;1$]JQ.FK)HC)1,)S^2RI<XYYQFROV=1>&$H'[QN5-AWC"1$$X5*A]6Z$
M)JO!H,<&9L<* \+9:'11P.Z'@1:J:8R;S@*M0S[<WPO;5U-?;'.!L'YI?F4&
M;MCA@&T]?F?6NA*E,4(QG>'1D$7[AL)@7_ -7(&8^NY^FOQ*^,[.[&X$\!52
MS8,L[E1_U.N0F3"[5^VXS.._^])SE-.R".24D\^R,!H*.A$M>KH8:&_MZVRB
M)7$(U D/EK901/.>HID2*L/[>[+4ESI(WBEP<):6)_$[&D!;</HJNXG6SZBK
M,^\S[B<;XKOG*]C,D4J:Q*S[--*H@0,T/*"F]/JV@+^8U'9A-<!TST,:PA0U
MQ46/%::QX-/(2.!GTC+6V8)B4,O8OOY*#8BR:L)I4*_Q%/@ E*Y]&S7QWJ%)
MEVL:2/]5[%9K^4R=)J'63];0\!-MD(H*%T[ED/L8^2-B[;?"'UG[K;"K_;8]
MPNP-D,HK:0RWR7VYB75+P4 1J=4E]Y2&HA!NQI@?ZPH,-&K*TI7RU"88JAW"
M$&OV$-1N5,*8'$6NZS?HM[B%3XZ)@4M(984B,7#!O\148V),BE?&>%C,UCN.
M8=.9#YW(W,K*B\PCT*0E'*2R!T+1^I>XM)LOS>=2J9F6+#?/=*V4SM=AG$!(
MGX!5(XELH?0/Y!Y-D*^@1"#E/A^!D&,3;4<,I5P/3FRD$:H+/S!:B]K# +E(
M'P1R(/G6<!;C=U 0TDT<9@#@9$*0 F"4.]3-U&<<P98[R(2YCD%D68?:A\Y
MI18[^+1J*$/F_Z2#2+(^8$W+401C'Z-"F(YL'>"=M_R.A,41)DRV@-!?.@WB
MOHRT>!R5F/_8J&0S2J,.7+W]O:SUI:@;CD%R/<XY.5S8U!YV@5;!->PJ$E5I
MZ!WTOLH&)2%B-06VA)Q-T35'AY?G++OE,.AK@2=6]IU8X,>)[#5]4&7?04E#
MSG=0OO.E!X?RF&";6(E*B#*[)ED]ZEO$]&X_FF;!W?M[-_3<L^YE3MTDHE/3
M<%1F!G9I:RXU#&0OI<>U@0PPST#+T-^L6$W2>KS94\TN"Z@<=K%+.6A.>-*'
MVVD@6< T5.M*AM+5>WB/*C#4JX2RJ&4K2L)&M%D<%+NG[.^9KEV0[5U@5B'X
M+#)2$K1*5&\,6A@BR2&1$H2X +,"O:8U)$DIU+%NZ6J,X7KL3)C',3))>$43
MJ# 0WJ[TBHY/T&,8N6%&'BLLD64%DUO$C"]]0B&(:@^+X)HZ,$*B=, 5!$W3
MH J!-0![*F <VF/>,+<4["L=?QV93ELU,#B4'HW7]'>ECWI#^.WKH=NRI@P/
M@RQ]8JHHNBU]C'M1-I.RHV<##'\PAPB6OT.N.N0(93*H48,:K]R(958LMXE0
MU4!R5N41$'F7M0"_1RT&U X#GV%V [?90*A8[-.M^X,R3T1+_%L;1FZI)#1Z
M-!Q3*C_2\!2 &< "NK8)Q5249SL^]Q5QYS*U>31^,CG\KQ,L[]%9,5\)E6&
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
M=TM0(H&UM)&B^^JXA0ZGL::!5K*1;VTE&HG O!*:C TV,6E,5N%J41&IK@]
MU,FE<K9N6*J5\6?'1OA3:WM7K+*^DW;W#8?)L4ZE=#%.<U2GA:8\,B3;@L-"
MAU'CQ1AG3\4EUC:2$AG[NR[KKU5FC'A 65PS%15-S)89]8A>C/(D%E#&?A5D
MU9CV1KI#8B(%'B4UT.K D37*D4')D:SVKM;L.!JGS X.OTC,KDC)#.YE!+*?
M@C\T)8 "3RR6:"JVNEC9%BRTD+9P961LQ2"B*I TY!,2::SI[C5*(J0E3AL1
MDRYL!NE;2A0;&OC$TZ@S[^G(.J  K?4,*&0&V*F*@M&N$66M9F,$TUE!',(?
M&<0A[((X-HOC4#,+31"P[EM YWIJ?YEVQJ @C>F]Q"EO?ENS8I1LXY/<S  0
M&VDT("-U*&95;4Y4" 5E0/R'[ZHW_5=]^JK&W);$(V!1:;-I</_@<N+\S)<Z
M NUK>(>62/OA"7%QWH63P2'_]R_QKXW95_L2);VS>$E#MS5PO[9G$]UD9PW[
M*$;:Q^G>/--T_'_*Y>/CDY. "Q],&6S2([KCP"B!$<0PGDU^IVH88O&-.\#G
MXMQ_JAO,O*US%B/\'7)AH[\>WW+^L]!*2!B?-8_\W][])_%Y<<Y-$ J\F"K0
M>/ /W>\M/2[_5)(_,5'DA4S<)Q:%M# 1,?*7-H.86(KW$ILU&Y3S>-0ZQB3$
M(E&XI8LBCY72EH/;,M=Z\W?= GCB&Y_.BG%L?#)RPV9<;R+=K^=NBX=9P(2L
MCT ## ?:NAC1$E-,GEIDA10OBLLRIS51BZT_Q[70GZR0X;.I6 C_5$J(VUKC
ML1%.6P.]!IBDC#PE3T?K8N%ORTM(K52V:7Y_SVU*EX8^B]4;K3U&@F*L/H6T
MNH8=:];'VFH8=>&*N'.LR-R-9_BPD6@0QLRAIB>'K^RL:9'3J3;><):X?>?+
MJ0VX?ZXLK)5MK)D[F]K.IK:SJ>UL:IMOI%FW32W'Y\7BSJ:V/38UH<@+Z?3.
MIK:SJ:W%IE80^5PZL]E:\J>TJ14R?&YG4]O9U+;)II8I%OET;EGFM+.I;9)-
M+97F\U:1T,]N4YMERG+RA)W4TYW)ZM.;K!*W6)5M7.V,4SOCU,XXM3-.;;ZU
M8\W&*3Z3WYFFML<T!7*_L*S N#-,?2H32?*J)BB:A=QF*YJ?T2R5Y_/Q!EKL
MC%)_MC$C>4HAI/A"+A9#QNX8/]8F!2>97UK"^.R5?WU)BG[[E$IJQUOESK"?
MI:&2KL]M5T:\G?U,JO+<2>-A5\%"K=?P4:P?P>H1<><2VB[L#/+KTW.[NIA=
MYEJ5N2,TBMWJLOF5MP?;W_M2DE\Q!UKFZE@D!$MNLF>PP!KWI7Z0+M#^-FJ+
MJSDU_Z[<:>P7ZA#?*.N]'G8V(Y5!!EBI] L;ZQ)[YF*;IROLD EK.#D0<OM[
M=]5_*N6R54G#-2_NR]%!5H0?9<F _]]ZQC_6U&?=,)_'W)?RV4$V?<$]*#U,
MO:Z/FN2$[#__/#O(I;BCRU+YXJST<,&=CC38+.X!6(S^AB,=]YN&A"4!OMQV
M%4WOP\&DN&-2"8ZK:CV%K.8:FX@9^H [-49]@ +WY?A K'#V?IU);\_*6($G
MCW0%D_R_E Z$%*Q0Q1Y M*?G*18')7M VP%YI[B_Y\PQ6FF6VA![K&*/4^[J
M[N:KU7CA,]3X816SIVH=.->$%"RQ*C9@]4-7E8.@.A+>:P/7(O@Z!"%]?V]I
MJ$<!P_2%P/O >:^#^S:$7%("JJ@X_20H^6_SWS*64L9-<%78N&7%\#Y+R2M2
M1*7O+T'AKJ-A%0 Q29=Y<]0?.-7IL&6EIX'P .M1,G[!2E $E9 _A G21NNS
M^B)POK8(^WL+]D50_[7F91=HXTE1#LE=*-\JE6&=MN2<ME7ZD%7C8%64204]
M3??L$BUT;O>0E[#R7\NS#[/&QX(I5C$85F>$U7KV\///<[7F-[+8]A5B*3-:
MK0=Q^'F61M1<CBW-KDX.G$'!5L;:L&M2Y+)&VI[4@_^(*3Z;R?/9;)8(HQ*K
M,_<?H< 7Q2R?2>7L$4VIKV#Q'%67.6"60U(6!ZNF8<4;@]0JQW)[ I\C^:9%
M+-%3.,S]36NR6\_L[^%W'=YN*#V)U=VQ'B&TR\.^D>=1LF+]UB\E\J0$=6^,
M]8W:V FV.<:&5LYXM@3FEQ'/2)?[JM8VR.)KHX'5(8"KT4+-EGQ]5KVKU6P)
M&X2#44_A2G9YJT]""X+A9*KO\\&4$?EL+L.+\+,'3.DBG\H!T%+I1<&4YDD
MA)A",!4/4QL/)H3(QT-C5DDG\8\LZ23N2CI]$#VQ*0DJ<78"FJO^O(G$8W_O
M/T(.+CNFCN=F,#&?.<7+L[)\%OA9.AUY -%#<4AMO/\4"\#!BH3@Y [3/H+#
M+4EO:/K=7(+#+45O]O>F" ZA;Z<7UU,O$",'5QDE7X!NX_"5SO)"/L,7A6(H
M5YN%KK3(YP&BA70JVNM!V!+Y3+; IPI$-LH?9K<477Q$H]64@2+0/L$]P)QN
M1D-JJ .%'KMJ."TL'FX>;BVA"TW%Q/#EL:G-MOI]1IB[,H2G4GI-*A3]!^&:
M0B%^66K*%PIY/I7/K$),"V*:+V0%A'LF?9A?#N_$2D>,=+=2"PLX1S!*TT#0
MRQ*UK[F>)!##2LZZ9K?.N[J[P:/X3.TX%H9+AL?"3L7LDL21SR#[SN26IXUY
MX/T9(8U0$5-3:F/"4,&JD;1!S:7>46$/6R97ZH"(.'8ZUER6;-UO!ZJ^NW%3
MD# '8EB&SZ4B4X\IZI,5\GRQN) H9[,UBBBAD.;311$1)8B' D.4]8P/4=XV
M:SW]33&LXLZD'U1' T5$MEI;G(YZ;7,(X_2YTUPV10%P0EI?72H2&OWW]X[E
MSI]X\FE>S(,0GLDN14A$X%AY7A"7(B3$(OV?= :F(! 12_C_[7WI<]O8L>]W
M5O%_0$UY7LGWP32Q<)M)4B7+=N+['-O7LBOO*T2"$C(@P,&B)7_][>6<@X4@
M"4HD15*XMY)8)(&S]7:Z?]UMK-,YQ6._\:YOEIZ[B!UJ2R*'>?NHW5JPN)Y.
M4=HI$13[8R_"F/;]TO'=^!2]LH4%5HJR=JN*)U"!J,P5O-B.@*C128M?X-]F
MOT?7$6H[Y(ZQ(09VC"C[S_J# =Q8B!?LCOWKB1#/JKW-Q$6=G;5 5(P03#?@
MG;4,?=3OZV;77K>SJ. ,<FG2WIHGL[?<DU%:,J*HT5CL=4Q[?4>1MU--J'I:
M3_6E&555^2B/2(#I'TX"S(\%BVRKJ3X'M-++D@WRR%2<?=/* 25+22'<))P=
MQ1[62S9K]O %T^%+27JTNUM-'OL6A>,T(H!5D[VH&>:NL^%&>K\'UR?+;+(7
MMY&]N//S,KKD2AY81G-@A\]=I@$GU=5[EM6<UE&P%QQ8;SC4[5[_H+.#M[GD
MSPY83 >1<_8,27?ZL#_0S>%CV'/WZW_\,SO?MD%WH'?[CV&2P]RV/90HU >$
M^SV=/=M/@4&]/[)TR^H=8B;W5BNV4 GP!PVQ"#>NL_V""\?!)K9N]OMZ[X1$
MRY[89-"S]5YO<#+;MGM2&^I=NZ_;]I-%RX$]LX=MZ^F&.=J^1%ZVGO7F\A;7
M]S5!C$,AHE??2UG/"?FTBBJ[->UZ($H&]E/]LL>^#6=] RM*#ZOW87OCO'Y!
MI'5F=@W=-JI55+.GC]M30[?Z6&^DVE[:U:X^170O&MG;#;]<%"7W)C&FE4>:
MKRRSY8C1J\>55BW6NMDIG<$D,Y35-@)WS4ZOW&F!7VMV>K<[G>';FIW>\4XK
MY.!&(>NG%V-?D^YKO<AT7^LDTGT/HBA_#K"P:7$)%7LOY7:H$.^CDCL(?CM
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
MQCON+)WQ,OGLF0RDW9AM4KC1_N3<*A5;5,KTV9/DVU_?6'<Z9=QYGJO06-U
M)@ 3#CHCZ2WRX(T1Q6FNW.3.=9D-:HZS%@)-Z@U.,J6<I/*[X&1-X]?:KRRF
M2HG  <U6A36^_Q]G-O_]O38F\UAG)Y&0#5(R4,+C'&34/3T$KWIEF 9EHFQ#
M(NF"YGFQ, ,2V;@90,1P]$C2^.-LY_?E8#D8O04&SWJM98ZH-D$YZ:,'Q_3H
MM(Y15^_9_1/66D6-5=R?!0W2;FU17ZT9*]-6I?;ASZ6KV'.Z-UU5O3VJ3LZ^
M--7.;?0ZZ(C^BT1']$\"'7&,1%G/<%JGE$ +&&;'?*K=M"[3&FO$;60UK8M4
M;6HS:51 X#EM)NEJ.02;J99 &[Q(@39H!-J^O.0(*!:N+F2*#TX4@ D1(W=H
MES=@'1^M>QQ7)KA^S34P5U.0?:!&;Z!W!Q3T>=7M=$>T&YBG/195C/R4D 2X
M/Z5X4\\8Z'U+/6JO>E3."\7RIEZROC72;;M+KG2*>ZYTTVKO%F8@M@:G1Y/9
M,$HP=OQQRD4/TQB-3@.C;T-],")-@W_VS9YNV@88TXC?Q;D@5@,X9<EVH-&<
MA:6*J?!U5E#;Y[AT 39L*B@>D?8/"[)LO=L;UE^!MGP!IV&%5S#5NC*=HNJ!
MW=6MH2'XPAALP%+VT-8'W=Z&++5Y@3]$)_29ZRW;Z/2WR%(U0CJ5#&5A%7Y3
M,52WKQM@%^V=H5;OY7)VZAJZ.304.]FCOFY9HX:=Q"@K$@,+Z#=$@@T,?6C9
MJPMCXE%-O2A.M#]3,++A&-&@QQ-R$.0F3>.0*5B$_,$&D$VI+KDIE?<W.HH<
MLKC=6@XMUB2R&!_4M:"F@*@ O&FOAD-+']H4>QP@V(+Q;O!*<JG5?N>N71XK
MSNVPR*:$FBP3CU[!>&[> -Q "A3.$:0TUL-NMWK#SE"<XO:&.ISC775S&[[(
MF]OPB&]N_/_;N%EM+5%-KF"[%>^V7"SCL_=GZDV\Y($5_84S][ LT'<W#M-H
M7&IS>(!+V,TF+W-C;W/GL70@*^;LEGYDJSC2S3]/2BA4'2MN84;;71C]@0IX
M+-B ^[/H>(G!JF_%]A.F/@2;N-\UEP3G%B\IO>% [QL]TJZ&28#4>M5!ZY?P
MS@\*5J6J\BEB8Y1I,!XCFI0*?HY=[Y83\*AL:!YW"C^+4M3TR_.22H/)%\,/
M']1+U0Q\#]2.[R4>E8J6-'-DI'.D%,_BYL*);]JMCWYXUTB</4N<=LNG&]\\
MC&2I8T1RC^%$M"D<",9CTI@E"W /V=*R.Y% B40AJ&.ZG7-Y9.#H<.S1I9W2
M:;/L6JHAB!8Y\*1XC+4[)[A-0O2%,*YAPF8[_/L:9 AQ+B7A=K0+'H2RA-DU
MH$Q^?$)TI7+EVX"U?0SD.-F[J#8F%R2F7V.B&M>71F%%,I>>2N?P7'SCS66H
M'-Z A8CQV8A#_F% ><18^[@DT 0&'SXFPYLF>N7X=%&*;UQ7K6&.=8ZQ-13A
MZ:]ABM<86AJO7F:*-]>Y[^(7V09G&T"8!* 7N-Y&H$'(RZ0]$)+##6AY[H0B
M@[*J-1^$&@,7B%X N-NA\V793@@*H!4XDH#P[?02(7JC":VZ0 Q V-$LWE?9
MY1?/Y^_<L9,B'/O\\D+K=_NRKB<R-[(V?)>KS GG-G'Q@+R \3:W;I"2 S56
M1QY23A[^&T\9^/\Z4&F5,]:VZ!-BS8O?P'W<PXYE1.C(/K"T*_BQ1H]B>S(@
MK8D'2X[ ZE=1:D619W YNR$*S[V4,'O.O39/HWD(ML!K=DJA-$-/(!D55%J
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
MQ:X:.50@0ELG[EP$SQ"6#S=:Z9U.O!E^BK=;V&V)%'3NG&B2(?:*("ZZY15
M7/3#.)W#/1#^ZK1;GZ:5<^4]@UNEBUC'/'PV+F-H"#=T1Y! /PP)5J8>$.$S
MD5"T7/BV6RQ]\4'U:1Y(AF^-8;QXBI8$7&YYAGJ^%\P\3# -&H]$$!'&5[*K
MOEA;'B9)*0FNG!GV(T-7/8WCC*E\%F^D!%9/X @I>LZ8:EW#X%""%[-&Y>\W
M1RE4?>K:K:]7,!H38R/.]SOMC^@]] +@YAD=  K)L4M(>"DS53_!,#LF78M=
M5RN>HU8Z1F&0?0+AJ@V0E?_I!,ZU@O60-^&]%X-HPZJKG#!S#GS^$'O$^1^5
MA(9!6 A(().$(G_-C#<AX\^#(*6\9@1VH^2%!<Y@K6_^GZI;0)TW^%J3O]M2
M#6^S$0//;9;*QB!31L_O52"<FMV]E_6HHVJW;L ,#".,SOH/*DV./ 19F@'7
MR%1-=7)FB..#92 +$$MCT)-O1U/+#6Z]* QF_ 7][F?GLJ-+;!&(,I7$4&SF
M(WK!H>'T@&D27L"?@-5 *9C1'R[[^66O-L0VA#-OC!*0A8_(4V3#0J1BY*^5
MCBA[1(X-CWY#Z$DP,$ $SMG6A3>1DX)SF% >YLR> !T85#V45D%9CY2RZ,5_
MQ#APYHD1@[)W=^;\.R2$%CN7VZVRTQ:!UPR>*/5FQ1MP9EM&[M3'LYEZ]Y07
MX(UE4AC^;N5+E$DJ7])N%=[2T?YU0YF2$X6H0I.UZ$O$O*TX.W%:=V;PHJ4]
M<=6TZ$N1GT4);!3L2:BK[3R,'7]/X8\CEAG;%MOT,F_RUU_B\2R8WSO=[N@7
M*;C1#&BW+$(S&L;OVO_ U2SQ$J9W/&/XP)=_HUG@AS$U?CR_"M,$; ?BT.]P
MZ%7:X!%0EOZ.D"P5^)0J$J%>Y17 E<*88O)OJ+GZ;UJO8R,F07[JN]/LPY4%
MTJK0)\=<E&V;A/LE!%GEH/0:4R9=8P#N1S88W9)LL)5LH$M%* HB?,/*!A,2
M!0WG-YR_1;+,[J,4:,#2E6#E44(ZVB>8+P,WVOA&&D$2.41_2T^2C!>P413Z
MG%B<>1=5(CRF$Z_\*4+GQ6_+4; /]Z+AQSE89]]3'Y9I6,X;HW<VY603HS?A
MOW2$'#BR' B\ [V39#;J&M6YD#$2,*D0RQ0SHIT<GGG<O'OOCE.EF[//LX6%
MZ,.5'DDVZMD\91^@$Q&^9^)%+MG+NC!W%: F).0O3")&9+2/:&"< !<KX6*N
M7%PHE@V),;X7J;2$R)65ALCNK=CQS*F*0'^^9A1_FKE^&4:%B0]T0@J!4U%S
M V\<VM_/S[\)KR(!=V+AU9R'/GJV<[5<6'3A;>&W$U$M#6XX-UW3GM_O^QQ
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
MU-7$%U5D[L%;E[^V,/L+)[[1/L*VK9U]NU4Y_=N:XV254D46U\:;Q2W6SV!
MS/*F,CA+1L[\B9<5->&/D!,>@?OK-[@_QOW9#>ZO:H</7]74G/6&^$#Q)+UZ
M@BUN2';_QJTE45'((0I PJP1].6GOW\Y__'S^X=+M=Y=UYLYS@/;@1C\ED9Q
M2DGGLO$!<+,7B69#HOAG+CNXT'<4OC9&EJV+!QD\ <KI!GN5IOZ#1L&$2<&R
M@&&N7$W4BPRY/_N5>^/XTW9+5)\GNI$5)=%N3+&G.[TP:X=R(DCS!G_Y/%BV
M;*ZP%_CQ7W\Q-][FK5[1$0+UX?O7RQ_??UZ0,-2U3U\N#M;C(@BLU]T]IG07
MG:NL'9=-?_H,[<%S[.PAD=BNZZSBQ>:W=NL\O8:7:R9?]:RMG.(VY_GNH;-R
M3J5+QU7YTG$P&_XV?BLA"Q'6F?V'\X<W>Z'$MT6)<:#3VCW_-E1T^E3T%'?(
MO@Q[0MRU6VMAOSG#7Q/_=_B+R_"H%2M\G5M4PWNGQGN-^=F8GZ=H?IX'DPB>
M^MS1WCNW7OQ"Z:^17T^/IC:$]"((Z8B,T(J\CZ,W.[,UH4%=F1756*&GS'Q[
M,#AKMK<<-!  A@#T-H  K(S%9S_ZR]NK</) ']TD,_]O_PM02P,$%     @
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
MK>KYV4)'M(,Y>JE\>$')(_FPU8H$TE>#%Q)N"88T,+31<6&5-1N.2G<0&C6
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
MG,TG_?_I7=G1N:/;N^%X9C=+_S4B+'O96P;AQ2[":WLTM?ZP;^Z'3=(JYJW
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
MR6@V6K ^AUKJ5A2(2^I&@LDCU=XC\EW:-?;_$WGA\@+./,<+=Q5(6G W\O4
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
M?W%<>W%<^[8=UY+&M;YLKNB\5IUM3QS81#(;=+):@"GSG>(DU^S*)M0U4A&
M>_JJ;ZW? #%[X=>V*WGMN+<UX"P2WR1FGDY<_ZR5!T8AZ9VFQ;ZP;12]1BHP
M&]>[V:X;JPSX-\!S!T$/++P0^#)"A-E::%2-LR,7P+R]LC&[!1E -]LXDI%4
MG?ZNJL<VC!T!<NXXI(V6N(GG%DFBF5LQ[=T;PQ>Z',C&]60;_6V-?0E1+N.I
MD8+G-I:].F4VG88R6NYD2VL?Q2*60/<BPM0\;B#VD!N']\E.]?(AF"X1GD%/
M>!2S0Z'&<[JK;#P+T+:3RQ$HZ3>:-@&E4O?5!M2%XQF!-@>_^E;=9.O?5\)E
M(O%HUN9CMX7A-MK$]Y5HJ4P\IM^9>7Q3?GLE=USS=IOCFIX]^=FZO!I]R8<3
M:"MF@L)[+3F9WK&('!YAF_L1AO3#8#CMCP?7UN5@: ][ _MJ0Y[64 M><\FA
M?5]$.^[_VA_>]NG_>Z//PP$+V]!F. KYPRXYN!^*<*F=3,=V;VK9DPF+JF$/
M+ZRK@7T^N*+0^^WIM_P$S";.D^.R$5"U3D?CWUM#)'L()H?OI(AO,AWU_GUX
M;B=M[_J&MD*[5>[+;\7D )X6 5[:@['UJWUUVV^1TW*$R6IT9V5ZJ=+ZUDU_
MS+1W/1HFA\JM0<T]+I.#]KH([:)_/FT-!^>9F1RB-T5$U_8O(ZJG6VISU_UQ
M>VVT\ 9-#M3;(JBK/K7]-ON+U?6):D 5PT9L4E/[MQ9AJ;Q+DX-9&B^8N0^F
MR>#,.E_6(0^&G_MTI&M5G<K/U.3@E\8/T>!L?9<5UM[L0OJ2S2;\T]*P4C%:
M6]\E);0:14KU79L<^M*@(QF\VY>$]PA.#G9I*%J-Y>T#5'L-)P>W-#;QAO;V
MT?/>S,GA+0U8ZY&^"P.0/J"3 UL:RS@#?_O(*Y[:R2$M#7!L'M ^K,KW=W+
M2@-=,O)VP77MAW=RP$M#GWCL2 NU5J6VV,ZZ>UHGIY'2:#I]A-8L V.%,1IK
MD<"Q0OICBNF?_WA_>O+N1V+AI%K+W01GW2\M)X5G,7U8('!72?$:HC6/,7Y<
M*5N3;^:&:BFJ5:".TAY0>6M+GE//_AT'E\2+4YS+&)].5;H*6W8J.M'C[TEP
MN$$J_;0FE'ZXN\'(C9QPA"<0/WD.Y+AVTJ35*;5Y<RII'$G0<XG10 &;+*?@
M"-=;<"U)5?*.W3AE:BUIGR]BZYZ;'7%@I,=F SQU&(/0IM,7]F"/$[],(0B-
M5Y&P:\=+)=-&,L1-]T)\M2X)&\.D2MU,UGDPQVUT6@+,4VFS@1S_[85L3XS!
MC!8+?]E[I!BO00 >XB8ITK-2UL[#/-;4O;H0/#[T!7Z<>G,6R68VQ2 @,W8Y
M[C-"KFP>E.96RKP74Z,Z G&':D,YE-VY4,RNYW),'49J<6GNE9DNZ#1R@M8-
MY89>M,DP8^B.GB"FHO!G?9FXO"QW)V_U^/;4:W.HCC3<V>%;?6/G&K$=WB"J
MLD%0D[>*?'>GQWM-'E<D?D_[]PU[?:K)"6_+_;VM1>1QOR%]ASYY-=Z=W]S,
M/U,[6ZXXU=!IW&/(#")QGYPA/&?O-HWN?>]A]2XXBU&?-?X)_9;,**^)EF6;
M\TW6H;4+V%X"R89_4^4;<S30O%E5=S(-,6)\>(F=Q9V$ (<7()0LUINN1]NZ
MOF'[:-CX*MDPZ :FDH [6I&NN^5F=$W"!::V]>7.NDEN7YRTV,&D-?R]K4=5
M00H=2X<SZHGS"-W(AZ.9R/-1Y"ES5O:W3\NTT&SMZP+B8F-O%W]=\(9WBPZ/
M3K750\E)4NK;V:%_U#IPS6BV<OED5Y8\0HUQ-%OY3PDY+#E6,F\G9U4T8]++
M"F><)J6SK\--MZB/'?#)<1M-P\!?(KSQ?E=\$2V0/P@[()-H/@?8^PNZ-DE4
M)C;ZDF?G!JQ8<1DN"R; J)*PM7ZZS2(L/55JK$!G R'])8/(](M6("V/6&0%
MDS:H5.]$NX]8?[[PT1+"=,.I^HJ?[<>5I[L6\0*>BI'TC.P-***P:FV\(DTW
M2%>=;C,"R0(0ME.=,0O;ELRO>*NU3=*,7^PFSN3K*\"I;.*5JS"3OCB*K1)9
M]4J)4&T&+3$Y:&4'EY)L>LZ?532OQ)6YY\UMT&7R^7+#E!IZGIR\ASD!ON!A
MW31M*:FFP(UJ+:?JV<\"=N-Z1+7'%Z5$U2I&U_/3V[!87S >Q5M[-NX>I#,9
MX-.P\J7Q7_I<HEI^?4^H=#([KJ,$L\Z4\Q?,5OL Q':H!7OA<@Q])M<4;83_
M&Y.(Q!?+<CL-]E> 77*)\,1[OJ9CVR/I,QB_1 $\.V9F)]Q1*%V_K+APME[_
M$PND^"R< +1"9*$U1&L\N4VVV]8HDTT**\$9;TBPS0?B/5OS&*X5J\UB@*VS
MXQ\LAEG[Y@+'8#$&0>*F>[Y<)[D!2_95+*'"?D(39>O>0I#*0'A"*&\;[%R%
M,5L%S1D3=W>@(3Z,WQ%((+,;ML(]@$(R U;]31&$1'*:-Y/=6NJU9(%[XX-@
M".927^9V:M.SDU#-+.I 7O.V'/;?BDS>X-!E:8;NA!2FU_* _!7)->V(M-H?
M%)T3.&(;-P05D-Y2#@A=I=3D-9]-E\^)/H(KY.<RK7>V43JC+\^S[XO:&2WB
ML^XA"IX@<S'(/^PH&2J:K_#NG:'FM?4ZI44]&><ZUYBPA><H/],"8E?14J#/
M%@U3BN'%5G=3G7'CY=:*3>6/Y22#U/OP,Q8^"M)"9=^F0;:@(^XZ[]NPO%U[
MS^Z O%AL _KC+B3W=1KP:Z<ST:K:ODV[;$-)W./E_38^C1-010 O)KJ#WGA6
MJ^\IHZ:FWNGGU<M-G:_GQ0!>K'8'O?&L5M_+3&T);\+ZOS:F%]MN5I4\<]?S
M/!7G&I3:C;92 '5^''U3@F*\N &]N &]N &]N &]N ']S1TX7MR 7MR 7MR
M]L<-J#+R]&KJK>KC0S.)\WS+CB!JPIOG!?)-7AIN9]ZPU45A;>>#+Q>%7RX*
M&SR _CTN"FNYFZIIE&W_;JIP!-7GB!%',"(D@NY%A)/08QY*+EF2JNN'JWF"
M@/"MR]1U,[F][9K=5&&<PV-'5YF_-3.H(;9Q&SI*U[M7)Q_)U=\I"H&_^3N[
MXCU$X>\P7%_^YEM):U5^<X;5KJ84E@4='DC9X?JB.QUL+Z 3*_WLA'YQNCI)
M(Z-9#Y!'VW%01)=*5"+H/;%U$1N?TR^IAN-O%@N,GKUY?/O^$7JX!S!>TDXZ
M*>@<.B B\8(,X? PA'@^!.QALM&,IB9P$+"GRN(%V2OAQ?O2H[UVF+\"']^B
MS^2QSD[B;T]_2$(?4L&LIQA0'.Z2RO:#!5)!V'NNJ7AQ&:OO%XF$%M@0D15'
MRW)2(;-"[Q,QLU"+9"6L%<32IC_0%-Z&P+HO[:_X/@<^"Y,Z>80P_(Q1M*"B
ME5\I[H'D1%;AK&[WDO7TTVO<RRKDDD,XM=S&G*\U17^A.ZVC0^,/SC:$N8:
M=3WQ2 .(1\0;9-*,VC;):O'#I5:D#8,F7C>T(V8J#5?05W^L1Q/9XKM6(7KV
MQU290=L+9MZ.6=?DFKR;UKH!&+J_EDTWQW!!9:'3\SF;O&UA!S4+TG1E?9L6
MBW:5T[A>O4_">#H^FNW2\NN4HFM+=7>^:TMIW@GE!;P/UPM%!7=>3H8[3<_!
MM331%DFIL.G9:?0^/*6VP+8/>%'WZ$]LO3Z&A#W0X3U!?SF*<'*B< -Q#\WG
M*(BW9KX T@.^$\7Q]-3> 7A?W#RX3*/JA0Q5O.H7Q]>+DR3["7@#X0\6BC!=
MTC.0%IV!LS<%:"%T_4]Q6E\!L9P54J.> @"8O9!"J&*SW2[/45C6R_+I=J^M
MQ'>^3(RGYP-2(PB_:E'&+.?52.7'RZ^G.^-7[NONE&$?S9+C(>&:79#% )>6
MN@05#]$DZC!H>K<)4>;^4)56SQ)<KF$D16[>&GLW+DQ>,>_.5X>NF+?!^E6B
MY.!;Y(3)2ZWKZ$Y@ZD@--$_+6P<DK]3RN(:.J]/>O3=8PP+(//V^US8(#&&8
MS/ZOA!%Q<LGTA6_?9NY5 =TX7Y5*P>Q[$C_65W.AD&7;+Y841#%N E6)N29;
M9K%4J7 %HL0$:?,8+&*]\/R([6;4;EB%C&:15K=I50K#G5\9QEUMSHSA2J1V
M)<+$1&D+ZE,(&)"/C;'Q3HCBF+95<<:0K-0@=Q"1Q[ZVX#BU9&F(=6UL[T[<
M#H8@-@!M<68X,J1]5DF4VB; *^B;:/)BX7A<ZPFR4G5(I!9AY4/Q7&@P[(VN
M^]9-?\P"K%R/AM;D9WO<[_2M\&OF,1H_?#Z:7:'@(?8C96=]_6?'CQ@)MP&8
MLW/AOZ ;GP$2$K%CQ?@),!M#I3.QU\=5+UG-5W4SCU4_J]UR:376=S #8$5K
M!,EO7HK!<AB([RUV_E5]X-66VI@FE%A_?5*4_*)_/C4GA@YKL:-9#T/7"R^!
MX_E>N"RUXG(O)<FFIP^N B4Y@A-D,>:H38FB0D<K587Q)VI5$H@/U/@YM)VG
MR6F0TV;HL5FE5;(>%,L.;N0Y]1RI294OYZI* 2:=K[5'FLEG;PT3V^%!W#D(
MXL==H"LZ'"JFTN0MJMP@D!"Y<3U=G3%HKT>?.N..MLWL/$BIDT!E:CWCBW('
M)!+1I-%D=RI,'C5VHLO0^PMC^(3\)[JFSF.6/[<FR*9IM!$VDN)K:1+X37=R
ME6/Y%.+Y%0*!:"3/I]%U#4!%M=5@N6-WHYI<\<EJMP-71;/B/'=5G:@YFE8
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
MAI_[P]Y )%O:J['_W%/VZ3?_#U!+ P04    " "4BQ57W9T.Y4I'   9ZP,
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
M!%#"JIN^\Q!$HZL029V_T]:!AOSQR_R1W4FI.9"@%O,]]*M ]H?_M@P("AB
M*>YVY:*HE@UQ(&$[93W8G8"'8$[ @\4)>(#H!#RX.@$/P9R ^K4B10@=EZ;W
M:?(0:9(3&J5]D\( N<\/A2@HJNCQ:<>,1@5M=7QGM.0ISB;9(B=+_OY+^H?"
M2HV<MYR6)IA-4DN5$ B.F)!):2U%TKF6,&+2OGFQCI,2QP+,99)%V3R)TB8]
MHFI'W*[BC2V.X!OB6.1A<,@-I$0GH5;G,FP4MZDN?6^EBP",7W":_CW+G[-;
M'!5YAF.QEZ+Z4F26]QLQ8X'=#9K1"(.@DPM"3>@,4SK]S+10K5;MA 5ATL]Y
MNL[*B/"SY$0U,FGD_#)' [/+F)X0(*:HD6D8T@@C(1WF@+;('M$X66S 4Z:
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
M<OP,W%4.SN%=$9M\Y93_<<"Q]#C^,7-?6LO4RE\:XF?I2@CN"9M-L[J_:G7
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
M--NY.V+7QN9/%]O;YXYSQ]+QSI_H;U0VJX X4:*Y9=DD#X6' [!J[_,27PU
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
MS(*PSU:^=4N]3*&!:A4P7QQ4]EQ9/CA8=$*S2X)O8]@5N*\-+BB=F78%*'Q
M9=C'Z"59KI=G]2?J\VA%GVCO:!U61&@RVHRS<5.G#YJJ%M ZYLX%<Q=5*2=H
M*<K91B^@>552<"+W(S'F6*2*=PS<V(J'C(3I@S:%PM2R8(AG =@G&1-'22-_
MPFB&4<15@K-)U8G&+ZN$\+U<=LKH[8#N)VF&'@0UIMC&OIX:&.:Y8Y4" AHI
M%%.QH]Q>/:+TCGF7P/VE@?S8UYW5*E#U==7M9\';6 .HWY"-"%K@XS3CQR1C
M<Q\;MJJ#!N>Y^(XZ8P12P+9J^&IL1^AU^UO$05#"#6.?)946#[)$A=!#\TH1
M\8'@.-P1?M,5MA!&*>:-)0:0#344,C#XH <FD:!R8E-\]':_QJ6(B)GAW]<)
MG9\^L8]<HP>"^0=CA1U6#5]L<(1>$\,B#H(C;ABEP^*XK#_8DTH/K?FWRJC6
M/.9\,XK_N6;'UL;W21E'^I&P+^=Y;E'#[,TH72$0G# AT\T>426,QF>3NXM1
M\,5*=^'%@K>*VQ7!43S-?HY(PO8U9X85B[MZN*6QW2C]4EFO&YR!.P+N$_.&
M)$L^C6%TDZ[#!^5US9ED):855C(+^&DJ=E7@G,5+/;@=4S(7$(Z4+H;I:6G2
M!DI,!\C*79Y):Y>G+@.Q0D[$\;H8;<L)3M[V%\\MK#,<L0P<=6]LUX3#EU/'
M<D)]DAYDINZ[M5,A8(B]*W(Y^+.B,SG ]M%!MRT=]LK";43:=ASA\$0&U:=
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
M@-7<QZ:I9BH&H)I9-C-C16\%(%:UA$Y7V4PPZ(8(-29F!EUB:=.X_0Q4)2N
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
M8%ZA*"M@[2!S06;Z^^7E<J:N5;'05CJ8 ?W*WO%0A^*%3V3T63\D//&IYNA
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
MPB]WF*_;?N4*;0E[7V03^ET7)_P^E8<?:GI5)<PO"VAMU?W_5B);=X[HW"S
M&[U:C77"I5\[!A:(52LY$^4QN2:N6$U01;1]M04Q4%VZ,FZI0[BN2>+Z03QR
M*=?C67X!\E,E"E,?RI4WZNQ:_1K3=61JY >V_N30SWLK+IWF=%-6^-RBM30:
MX_>EFR@(HA>^_Q8S>IXWCCO)W' 3Y^$.A2@(_N;"]OAUQKXG?&;EN)\[DCQ%
M\[S?R/M@)9QR]D2<Q588)Q'2.+FB3L)^F<OTG__QIT\?__CGV*'99YUY43CG
M<>-XN7@.Q\-QP_FN*-V+Z*R$C#_NNO?7&*.3QQC5"RTR#P"5OM7*.-!>8-&[
M_:K@0\=X8Z,-&;+)5I-UWERS&_Q!+!-&6D&UXFO+#1(7TZ1 &OO7GC#VCU_N
M:31/O61,\Y.VWJLO(X@5E9<\/T*4JA36TR?'GP<QY<+$U]'*]4,M";+BR$PH
M856A+]-AO_YJ;I/68XL6-IZR+[+5PAU9/1(JP9:5E!9$VX3I@:KLPC1:MK+U
M%=_;Q'SH,F)Z6 R(:/-YY^L@*M.P%3S_[B?B!50F&'^Q8--_8E+=N:&[%-M3
M'<; JD#<FW_<S1)W*R30 SIF_HH_0K>843>,%X2.%Y^C:&Z:3O/:H,KG-\/:
M:+=;]7240.5D#%.R(Y.S#2-UN&QH_CZ>S%P\2N;C9T*9U.H9?ZN9N@IT[F_M
M*5TKVRPS9H("?^C<2]A+[B,_3(:A)6/2>M!G3%L+2&N(-@THZ-P9/!B[]R?Y
MU0KVW_G,?:WMAY(WAGW."W1RV*7RU^&&[_"M>FM!AR:7L/N:73DK>>MNU1V+
M?!3*GGQ:1'3%H^K&CX&?&?3@=4UX*.MV*)NRG\8+)O7V9H11_:/;[\:2J9&7
M.X[& M^I>[0F /=OD]_HE/4TU->:-J[VG<^G-##Q=.^UFQCVW$U_YZNA64/6
MCJ.]:5L[TH305ZC-C]AUS*)K.Y;Z<&3WRCZV.++LOH!]HZH;IF-!!O[>:!_*
MJTM.H(MKN:R^29.WZ42+?62**YH5L2G!ON$C8U&^IM60)X70/N6KK]6)J-HV
M$F7(W_JU>XO^F=#'*":H+]'+%-P%$]NQ7JC6C:#=AGFOP())O'2L8D9YJ+-\
M.)(4@WJ+NT>87)\C"4JBQ U*]'0H$Q7,X5A)@6/,2=60\_'K/*H>.PZ]Q__>
M6X/E&"MIYRW.M6;<\!>]/*XZ"OGMB6*ZGRB,_9BMV\>+782X=MU;R:;#X[F]
M7=-\]>MO&^?KX*QU_N.D&/B-'H_]5O);[42:N"]W+K\OXP8:AYJB^-EEKM*J
MC>Z^V$GW):*_#L-[&GDDAK!2*H_M6CB"%ZGFW2'FQ@_]F&W8^5D_A)A2>;1U
MZ/'$2#7O#C&?:03J*7DY(!&7'23B0--&MP!(U/&D+]MT2X0^$PB-DCI 2K_K
M(*5*!.SI_2&C-\RNNW6#8*V#[; 46MSX\20VX3+KP,9<D2F3^^G#F-Q$M)0"
M;1CRO4 4^'-7_&A[U7J\R&^+L]\.XVFZ6KF4;VQZ<;9AT+O)*^G("F*);<-6
M+H=D@K$M G7H3C0GYN79ED)L'[R"A.PW6Q'Y[B+:">GXL1/OQ'3<.-]UQ.A[
MCJ\9/EO-\*F/=&KI<]V(*#B/!)]="8]J1IU;<XQ4XQ_JAK6UVG/+#TTW#2%^
M\%26;G WP][FHNLCH;25?GMFH84#/61)(9WI>I*A6C=8!E@OC*NN7$/BML;C
M50*BOAR[<_U7BN*[Z "F5CG!4&B,[@::DH UM_Q,0K::#WKAO#=?<7]5DIWS
MY9L7(T^6S>!O5NTYK(44.K_YF,_VE](I(9=:32RT/G;*UG86F"43L ,3_P#R
M, 75SI.PR[N>;U9FT3A-V.8^Y%>K)G$:5].U]UY<.H]O(CKU7^^B,'F*!UR,
MOZ4AN?S C4[KDZBD;Y:DI-I[$&+'S>5S:":@DT1.M!?1F4P?LA"_O929F\/)
MY!0N#>Z^B/U79R7$=01L#A?8N?SP>X?+_-4]T5'WA*+[4NJ&69:#^&JS+Y/+
M+Z@'NR2._D0WUH:G>-SA&)3P70]&%50: +P-3;3=#3MJO.^53:H!I/#]")F:
M/#>CUG-0*O;;8+BD-+I'H+Z6>TW"^7W@AB-W9<QSTL[7NF$Y4JNW[=^U],=V
M5)06P:9-L*(XML.BS9Y0N;BD 0Q]+RQ[@HIM)2QI+5?#CDS"HU<.(#K-\A?)
MJFN-QS(>X[4XSAY%X3/A,;2CE.N53YBF96 ;'T1VJC2W=);-%NTQ5#N(9"U<
M0>(Z-FK\3V/X?"'^\HG]V7LFU%V2SZP!<=%\]V+8"8P:($/G9TAT0P<3^39L
MOPX7.60"FGB87X$V!+>V\K'.+PB.LN9VJ.G&HJ$QW8X==T\I"'9 ]YF8:_LC
M<!=N?1\[8?U\TH6S_&O8X>R=74WHR#GK>/EF@$%<+(,%P Z<Z+AMUQFDS]-D
M=SN#_-\W$5T0'\-I81( :++?_^9,UI+"W_0(K<2J"QZ.&C(!.T5KJ=//KU/\
M!H=V9/_S+Y_ =OJGWZZ=5C%KQ!$W"-_(@-V% =HH@X6I-_\ T-F8.@C&EJR_
M&W=Y8?FUOJ]<P9V-^W^_N.I-!]=.?WQW/QA->]W*ZO\U$O5K).K72-2.'C%4
M!OBOD:A?(U&_1J)^C43]&HE:HW]C1*)*$Y_N7!O0,%-6R52G\[$'#00C F#H
MB"?H[><=:&<$A^0:P'L2]6NN@3/*-=#I^^TM9JO\K=QOSS*IQ7%*YM<IS=Y*
MX7&,PALKN\2\FSHT9!_1YIL-V3X:9W13Z5@JA/.+9JZ=_N#\SJM!^21VCO$L
MZ\",IZ L_I[[O$91\@^20++ZM_A)[.FH-8MLG2;\'!Z]9)]D@TW*U\03$_#E
M1_:#3[N3EWB\Z+OQ4\_SHI0MNIDBQ'_F*VP^C^<_9,"*GZS7-'KU5R+SQQ/Q
M:=^E=,-&]*RA*^*Y:2R6]A%-+A)"5R,W$6Y=5CHFPY"-]:E8VG^K3?KQQ_(I
M2"\Y3+\A,GAL]7$N/XJ??OI]]FP!4\QY%@*)Y[V8;K]WW%P1A^[4$VWL?K[.
M-'3<@HJ\.=:6ERNY;?0Q4W/[3$*\4]8)A;;Y+U@)OZ P=L*0'=][8 &',/I:
M. /L3J:KS94;\)?MID^$))]IE*ZW"6L &FEK=V-+!>&L-*S!U,,_T=C+*9'R
MQ@_9SWPWV&U#^FYVH PXSSB^Y8Z1#S!SI1'4A0#_F**@_AUQN>F+V=Z-_5CO
M!#-6?$/T*C1$/[>X9U,B1S/9B2H9RDR.$ZM&.D>JSFA+?%HIBNT5VR[Y)F3-
MQ&8KXQ5?0-6@U[HA[,UQ#:,NY_*LAQVZ^V,0)V)%/%X<TY_M6L'>>![/=AW4
MT*F^)H_)?I\&B+145D!V9S:UP"R1:L '?]-_$]$9LP6^>U<EW&2_XMOE"8GY
M,^#^,PDVXY1FCO][0OO1:A6%PB'RQ8W[;N"E(@X+]HC(G\I[]YL\H6;"I1*;
M;GUJ35$DV\[3@H2_=Z*4LATU%])9LUV_)\1DVV\FI_/BQFR?OI6T2^^(#%S*
MWV&/&; "4O.>6UT#.Z2Q+!E?V'A7F\Q@^H$;6[SK 6VJ&PL[$XOJUSB@>N)O
MR:6B C;<IGK=8+"V%9=G=8.V^#OG_9S&=1DOLH,U[9Y94^5ML:=1%'W37!3)
M%!$B*]L1IDS65]X3231I(V3N(=P_5)8=/>N"Y=2EL:_1JZVD$.1F4O;8;884
MX8D%OJJRV#>I0.CJ%47?PHU(DJWE;[4)K$K%L%]A "T^2F.'5-.S3J(CA<%^
MRU"JANTYJT4N" KTSB:5TI(H?&<7#&L /V^R$U[[0<K]'];=L%(1.V%:(QU1
M 4?GNF(NIS5=^&G H(B#>.H,/Z4[X(?9#PK/" 'GO)K-8:_?:W7!HZ [+^(;
M(AP_>=1QG!W!_YN8@Q4:YV-:17%KJU$WA)U?J<D!P@07_G&5[-0)EBKCA_)!
MTW#4']\-G/O!A&?*N!N/G.E/O<F@.YDRSO\HB+&5A;2(,.@M7W$O2:C_F(K'
M^&91-1Z[<*=/K6L3;7?,B6$8U9M#$[\?W_'09S_Q>3CY;10N14 T/RP?O'I!
MRL><A]!=\9B*?Y.Y.$2/XY2?RXOL'CV&%>1T^;L/LN<@5[MO\]#K8/MU9\X^
MXWQ#M@(XZ5Z"['=^+H/C<2%^Y_"3Y X='7.8]LH",N8HRN.,%=P*9KD1[*UC
M0M9Y_I;QXI[ZH>>OW6!"N*=USF>L&R:_&_R#N)I HN-;1AXG],261HFF<$3?
M!E@H,@Q';/B9O9#@F60A+(U8@ZQ9;-]H6[:@AO"\#(&;\.PE:HC_76O8'M?V
M:"\!UBFV82SB^TEKLW/TWCOA5PQQ$Q@*Y2%;L.\^EE=CUX.K67?V6V>^?F);
M_O&BSPS'3VY<SP_\9&,(K]-4Z49PB%V_4FN#'RPG$Z[BI($Q=-NU4#FCY0&(
MNNU21)Q,0'U G+K&VZ&H(V%O4NOATQ4U!<&9:W:7+$U$G%FM-N+CKMQ0O,I*
MYKJXK6HI[/T3U'P*\5LJ5=&7RC8CU-L9FS2C$EZFMD.AC.&XTM+=H ,\[LB5
MP+YO.B'/4?#LA\M#\<PO;VNK88]:.O.JO)P- *"5@%Z^J;V-W% W(93+8/M5
M(,!*Q&X1Q1U__'N]< Y!U50'VS\"1!FF.OJT>WBG4S_MRLIV8YRWG79EFA3L
MI@M40))6JVMT@Q:U<6GY:#N#=):#<1RJ;^VS4I5"V(&1)O,HC#T*!5L9XK-O
MS5XB,YB%0MB1B-9@5A1L$TQ^6QP 9[$8=L2?/:!5)5N!],:GL9#,#0(NFC9-
MO*(L]G-N%N#JU6T%X2GQHG .A%A9&/OVFP7&!H7;6=/%-"DL(MB_]@L(]H]?
M)CPN2K%\8[\O_+H;2P/PBNU0^,(D>V)LE4:]%; CV;@.\9)CV6H^+0.8=W[H
MK]*5#LY2$:B_HGF'11FO"II29=#W=#^[U.==:>(FAH>.JB7/;'10ZE%80.*3
M8-K'R<IV@PB5*6GP[XKS])[Z*R&0,==BN2!TP&G-Q:2VG7+V1+F.Z".0K/_>
MN:]\K+R**(U>N$O77;/?)!N[,TYU*\AQK3)A;PTW5^K A,YM.0N<1[)4CE W
M5;$&]E%$'=),^J,3)%-J\+KV:?:8#1LM/MKUN4IE[(..IOJ: I56=LD]9BUS
M83%$%L7&BAR6P#[FL,*X(GV+0.9K;MX-\_<K^E%V\V_"P9%C:ZR$[=VUA1N(
M0CL,9%/4+3'#+BV)[?RUQEJC;RL [W+[3,B_4I_)^<!C>GI+2L35-SG6QDK8
M+F);V($HM#G(].;_3/D3.(-'/YF[VJ&E7!3[*G7- 46N,?J:YG#1)9+*3QFB
M[GP<%C=+FH4-O 5L;__QBU(S/ATC=!@FA&?MXS**)(KS>T(]#OH2G'Y;WP;V
M\<+QI$(P0J>U>!]H+]X5<:EX*2NSQ*(FFIV(?5/@[6276*X-&3[9!6UA.TI,
M9WY#>\=.H1]OI>JGE,I7A@45JJ6A;'1N)Z]2')^5O#<#^X:T-+K_^9AAS-!7
MSB\;T^$LO'W&QL[G6:X%9;@;[@:02AWK?US87CCONVN?7RHF;DS&CX&_%! #
M,RKHZD,9[(83PU*YL^+2//79-0-EMAM^DGHZ=H3@^UT.ATI6),UQK:X2E+QN
MN%T@&G6$JNM\VLY>C\J$&T6AEUG4B&BG0F-5*&T=\[D (>E"AK)_1K2?QDFT
M(C2&);CX5$YP<=?[VWCB]!^FL_'=8#+M3JZ+B1__&K-1[X&Q0)E((<\08TYY
M8:B&=/>2&1 C/3N5Y!(:TEZHRG<C? C$3/DJID(C_+P7%<DJ(P2 GT*=;G"D
MMS@3.05U\'-=5*2[VER1T'M:N=3P")2YYEL@JZ(4>@*,JHA; 8W7SHTU.\J8
MPB:-W)75PXZOG+H!S\/V3,*4L,6.*<I241P[ @QJ@.6WU'3*MW(BS005LV8O
MCDFB?5]*7A+[]-\6:*4B'=D0]3R/.[Z8$7C$?^:CL*D'J&N@NP-K]@(3!N@D
M20;?&?N<]5I@7ZFCDXKE,F"O#WZRF8HJ[&/6DW^Q4D<IJIJ><>-34 I[MM\Z
M#RI"FD8]8\7.K0"J!E@F"H8%RCW00T^/^D*HK%Q'.X[J6JA,A7:2>!@PYY>%
MQXL#<90#&"NO*8Y_=U1M/P7D-1JTD:]C^PU#Q@Y),;2Q10]2=:6KTK"=K43^
M-4/2#DDQM(L?-?$\3=:.W==,>3ND!=&BX>MB>J+$'=OOW40IA8!:+(<6[5D3
MTZJ.[4+J/X/LM%@.[XBN+J85);NW'=W'>VHBU_6UD*^]FL]$3+L<"0;X!Z8W
M:9)2DM^)$&$4VT-Z<0EE%(47'C_T#0*^.!VO"=<G7(J2<2\>+_Z6AN3R [>
M+P3ZP--E^<0UD\)996(X 6_=V3Y\X:1<$B<\%,6)MK)DQ6/^J%.T<+@\SN6'
MWSM<).>%-/K:DW2PV6N2HZ(^D&7%U:618H]('),2L;>^^R@B [:V8/MVTQ%M
M8G5S+372#GX\<F<=+@I2_YJ?&H ?>:K=(MKVIR6KT<#VF[ 9\WM0M@VA;>C:
MLQ#U&U!OW##XOJPAT\B:0DM!T+)Q%(%"WQ/82,ZWB<TPG+6$EO2@78*+,)T-
MO[U%0JB0OA"169_D4G-H3J;VF)8"=C9T'\\P8DA'>Z0>/6O+WA#LD 4\A',&
M' ^:(//!J\>*FBZ2U6P.+?U$P[9A LS>4'[(#"4D2WZ''M54%#JKC4%9 2UG
MA3W=!J4[X/L33C$FH#AXGI(DOHEH\C2)TBP0K1?.Y3KXF>M/Z^/[3O:(^V+[
M14<\?._PK[ ?LH\Z"?OU9/S@N.+3CAO.RQX^)]A_/G/V?77G5:/U,N:,=T+*
MY<['[2;7\*QWOX>];.(OGY+QXB$F0E7H(%FIAAUOI"!*-T@J5#]K<HN#IK%;
M2@N?D^]*K2SZCD4Q'QNO59OJX2>P5&,.6I&H;TN?7V]3J+B_KFK-<[$J?O+,
M(ZFNXM#5;MG>WJ#%3!5'LM.*4^#$FXILFH#=O/Y#>8]P.^A-!\U=N'Z#ZWLA
M!3S)M;3T^:SU==J^H6F*9U2 CG=9V3,Z\%:KVK&IYPOANP\R[^79CT7DQO:7
M/.>,IJ/9MW1&B_JZ,'6;W^O<W<HS3>:A>37YE;9T1F?*=6'"]V!F:;-G[BMT
MQ?%]><4Q'/7'=P-GUON?!M<=1QON3J^]K&;?@;823@?<B<3F<!+&Y(J$9*'+
M$ZFL@!S]"R"DU*D,JJ./C8/%@GC<Q'>"\A[.;Z+[8<K&@GQ0T.80M&D#VQMI
MSZ ]0ATE=<*?\>2IOC*PDQO"H'8#GEL[93)L#@K;LFW9./:+.DV902U,T>WC
M9S=(,X'Y.1P/IM_F=F.2"I=[_XF_ SD,3:?U]BUANTGMF:^+5L-']2=>4_6C
MU<I/1)P*3[ IAKLE8;8.76/]L;S&8BNLN^'L;C":39W>Z)K]>S0;CCX/1OUA
MEQ9=.L4MEF&6S6 =2B5YKM0I21AY7-S,B'LO+NN(\UDT3IX(O7>I_N%"JV;0
MKW#5(+ARP%4#./1Q_Y8-+,$-(=K+%[LBV$NU1G@J:XS/@<1R\KV!70?;5<)>
M2[75GTJHM')#^-JG;%4741'DM%CX'J'Q,&0"\VE^0MB$*5!4K8*$D\6F!>S5
MSU%<66M;PS^4_X;_WZ,;$_:3_P]02P,$%     @ E(L55^ H S@B"0  &E4
M  H   !E>#,Q+3$N:'1M[9SO3^,X&L??(_$_^"K="J04VC+,W+:E4FC+4HDK
MW9)9[;PZN8G3^DCB8"= ]Z^_Y[$3FD*!L@<S[2B,!DAC/W[\Z^-O'@>WSYU_
M7W1V=]KG?;L'/PE^M9V!<]'OM _-3[A[F-UNGU[VOI$KY]M%_Z3BBRAIDGHM
M3HC#0Z;(D-V1L0AI9)D/+'+%)/<KD!'_M4=OS=DB(953'C4))JVUB"L"(9MD
M$J2LTFF?70Z=HLFJ3T,>S)NO&=5I%?^+&1\JG5^BB8I;[4,T"-4>==[)W83=
M)U4:\"E\)/ETEKRGT^U3<!7_+WG]@9[G[?*/:I6<<19X33). U8=T2DCU6JG
MW1O\0>R+P6_#D\I%_\RIY%X8V]5$Q$UR%"=Y8=6)2!(1ZL\J)G>Q7;*Z8OJ)
MD!Z3QL!I0-UK\@G<5"+@WL/-W)BY7U_<O^->,L-&J/UST=-06"?[7JC.X5)]
M/J I ^9C56UR/NZ?G53<F%?KM9O_U#X?U1I'![,DK'2ZHP&QF10JD:F;I!(-
M#R+W (JN_MX^M#]X?.8-]%WGP'H4@0'?__-\<#IP=G>.Z@?U%:-_T^?L]P"-
MRZ*$R7<F3;<_=@9G@Z[M#"Z'NSNCK^.KKS:8=RYU+YR.]>+0N>IW,0&!X4PN
MSXASWB=7]OC4'O:OJI=_7O2_+:6VNPZF:M1JC8_OR_=OEH_IS/?T<&#M[O2$
MY,F,G--K'EK0"C+A_IPD,YHT-]GUU8WKV*<7?=+M7UQ<C>SN8/C;2:56T=<C
MN]?+K]]<B\(2\;">@-0(:*S H?PWU#%M9YR;O\6F=&F0#S!8G4P]UM5$1FKU
M<GN9$XTO\?WRR/UOJK#/WF+\P_K!Z3WK^*?CC7*\?O"BTQOCYX#,Z"TCDMUR
M=L<\XV@RXXK\GE()R KF9,QB(1,B(G(F9*B5 !$^>4XJ+'47?!M_[,!=?YZM
M:/3%"%O52Q]H^O\<  73>0L?:CIU2DR5F%K?\<:68.J4*N8A@<(YN8[$7<"\
M*;,*M)*&49X LY%(8#A&">41H=&<I!$0BA&5T(2%H,,07A2T ]"-TX#XU(6/
M)!$A3V!\FG1/$D3,94I1.<<D(;UF4"XS#CP85G##8Q:!<@/4[E@0I"(NEVX:
M0K((;( [,'/(W8R[,Z)2_+;(?\<DRXQ@+4*N D8]'DUA]H&, L;&S-5>HMT8
M_!,9LUT!4PW::#(O-DC)XI+%)8NW@\5'/P6+&?%Y!*!#<"[ 9@&((0_<EH7[
M//)!4-*$@S$>N4'J@6& 9P%@%M"7HPB-@7W(;F1Z$"S@G"%1K2H?%@&/HW4+
MDZ4! !:(+ ";NDREG7*IFA$_$'<JQ[5D4PZBED)I%#\TSH.K5H&Z*O=HX;)Q
MH01O"=X2O-L$WD]; EYGB4V_2'63BE9&'8/6++Z&>E'X/H=+C:X!H9)I4@+T
M^"1@"#/" ,^3@*L9)L=D(0AF%,UX[7'E!D+!4[V6TE($AI:Q%"[S\&&?[ $<
M/0:TS<,&@,'^O3NCT901&U0J;F<H4C^BU?KQ'MO7^>O'GKDREQRCHI%!-19"
M4,46"&Y@B@X52EM=D/$A*\U?*@VNL,*/V0X),/C1+%%=HOJ#4?VEL5'$>P.J
MZQOE^![=WPY6]Y@")X!5^@E_0=/\87TE4BT,0[@T54_S/4OA1) ) S)FQ9G@
M@D@E& "A>LN5EK^0BD6+\G'_92&ABS)<LH!JWF8AA@4OK4RBXTT.2AH<TEO<
M--'>3A3W.)4<:\%-($0_'41H*548E]!K5,9I#&=HV2P4 ]<2D.F8,Z8X_=*
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
M?0+O^9Z UUYATV]2W<6BGE#'H#6)KZ%>%)['X5*CJT>H9)J4 #T^]AG"C##
M\]CG:HK9,5L @AE%,UZ[7#F^4/!4KZ6T%+ZAY4P*A[GXL$^. (XN ]JF80/
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
M0I.T\@  D+@) !(              ( !     &-P:2TQ,'%?,#8S,#(S+FAT
M;5!+ 0(4 Q0    ( )2+%5?;;:0D4 L  )0+   /              "  >3R
M  !C<&EA97)O;&]G;RYJ<&=02P$"% ,4    " "4BQ57EL!IS?H-  !-?@
M$               @ %A_@  8W9U+3(P,C,P-C,P+GAS9%!+ 0(4 Q0    (
M )2+%5>AX$P,RA0   #F   4              "  8D, 0!C=G4M,C R,S V
M,S!?8V%L+GAM;%!+ 0(4 Q0    ( )2+%5=153]4E!T   ^. 0 4
M      "  84A 0!C=G4M,C R,S V,S!?9&5F+GAM;%!+ 0(4 Q0    ( )2+
M%5?=G0[E2D<  !GK P 4              "  4L_ 0!C=G4M,C R,S V,S!?
M;&%B+GAM;%!+ 0(4 Q0    ( )2+%5>3-9/B,C,  %H) P 4
M  "  <>& 0!C=G4M,C R,S V,S!?<')E+GAM;%!+ 0(4 Q0    ( )2+%5?@
M* ,X(@D  !I5   *              "  2NZ 0!E>#,Q+3$N:'1M4$L! A0#
M%     @ E(L55^@=2* B"0  (54   H              ( !=<,! &5X,S$M
M,BYH=&U02P$"% ,4    " "4BQ57V+8WY[H%  #F,@  "@
F@ &_S $ 97@S,BTQ+FAT;5!+!08     "@ * &L"  "AT@$    !

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